俳句活动与合同报告,2024 年 9 月(包含 packagefs 内存使用优化)

  • Report scope: Covers hrev58043 through hrev58187. After R1/beta5 release, back to "as usual" development with some report changes included.
  • Packagefs memory usage optimization: Spent time optimizing packagefs memory usage last month. Changes include using singly-linked lists, dropping unused fields, inlining reference counts, eliminating padding, etc. Final result is around 20% (or more) savings in packagefs memory usage (excluding file data caches, at least 15 MB on the system). Also replaced default string hashing routine with hashdjb2.
  • Applications:

    • Tracker: jscipione cleaned up code and fixed Deskbar and Tracker to use "Menu" font. OscarL fixed a Tracker crash on screen resolution changes. humdinger widened text input column, and jscipione removed an extra prompt.
    • HaikuDepot: apl fixed text colors in "Usage conditions" window. jscipione fixed a crash when clicking before loading.
    • AboutSystem: waddlesplash updated maintainers list.
    • WebPositive: nipos adjusted font settings preferences and button colors.
    • Keymap: nipos adjusted button colors.
    • Mail: nipos fixed quoted text colors in dark mode.
    • Tracker: nipos fixed text colors in "File permissions" and "Status" views.
    • DriveSetup: humdinger fixed quoting of partition names.
  • Command line tools:

    • launch_roster: waddlesplash revamped and merged an old patch to improve output.
    • strace: waddlesplash added support for printing mutex option flags.
    • package_repo list: waddlesplash added a -f option to print canonical filenames.
  • Servers:

    • package_daemon: jscipione fixed colors of "problem" and "results" windows.
    • Audio mixer: waddlesplash added more checks to avoid hangs.
    • input_server: madmax adjusted to avoid locking device list and fixed single-clicks on resize corner.
  • Kits:

    • Spinner controls: jscipione fixed live updating of text colors and adjusted parent color adoption.
    • Locale Kit: waddlesplash made adjustments to avoid crashes on ICU initialization.
    • BTimeSource: waddlesplash added an assertion.
  • Drivers:

    • intel_extreme: tmtfx enabled support for "Gemini Lake" and "Ice Lake" devices. PulkoMandy added more code for "Tiger Lake", and ilzu added more "Tiger Lake" devices.
    • usb_audio: waddlesplash reduced syslog spam.
    • ACPI driver: oanderso adjusted to map physical memory as "write-back" for ARM64 port.
    • virtio drivers: mmlr fixed bugs related to queue allocation and added error checks. korli added a device status check and fixed an out-of-bounds read.
  • File systems:

    • BFS: waddlesplash did code and terminology cleanup.
    • FAT: Jim906 fixed a crash on disk I/O failure and enabled R/W access to volumes up to 2 TB.
  • libroot & kernel:

    • Kernel: waddlesplash merged minor fixes and performance improvements from jpelczar, including in malloc, VM locking granularity, page reservation leaks, etc. Also fixed an offset computation bug in IORequest subsystem and cleaned up code.
    • libroot and related modules: waddlesplash cleaned up *at function implementations, replaced some custom I/O code with glibc's, fixed gmtime(), mbrtowc, pthreads implementation, adjusted syscall runtime accounting, reduced dirent buffer size, adjusted "low resource" subsystem, added assertions, adjusted kqueue implementation, fixed a race condition in thread unblock-after-timeout, improved VFS entry cache, added debugging information to slab_object, and adjusted rwlocks debugging code. korli adjusted linker scripts and fixed a kernel build issue.
  • Documentation: kallisti5 updated Google Cloud Platform instance generation instructions.
  • Build system:

    • DNS resolver: oanderso fixed building under Clang.
    • Build system: waddlesplash adjusted to build haiku_source package only if HAIKU_INCLUDE_SOURCES is set, synchronized HaikuPorts packages, jessicah added missing checks and options for Python tool, and waddlesplash moved libroot malloc implementations to a subdirectory. PulkoMandy added Wonderbrush to release images on all architectures. waddlesplash unified BeOS ABI compatibility preprocessor definitions and cleaned up compiler flags.
  • ARM: oanderson continued ARM64 support work, refactoring and implementing missing parts of VM translation map, exception handling, and TLBs. waddlesplash added "unimplemented" prints to default base class implementation.
  • Closing remarks: Thanks to all contributors and donors.
阅读 17
0 条评论