1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 DragonFly BSD 4.6.0 发布,更好的支持 NVMe 下载

本帖由 漂亮的石头2016-08-03 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,974
    赞:
    47
    DragonFly BSD 4.6.0 发布了,DragonFly是一份作为FreeBSD-4.x系列在逻辑上的延续而设计的操作系统及应用环境。这些操作系统与Linux可归为相同的类别,因为它 们都基于UNIX理念及应用程序接口。DragonFly是这条发展道路上的一个分支,可以说,是给了BSD一个向着不同于FreeBSD-5系列的崭新 方向而发展的机会。

    该版本更好的支持NVMe,初步支持EFI ,增强提升SMP和网络方面的性能。采用 Linux 4.4 kernel, i915驱动也同步更新,使得处理器更为稳定,尤其是对Broadwell 和 Skylake系列处理器支持更为友好。

    内核方面改进:


    • Fix a namecache race (triggered by heavy tmpfs mount/umount rate)


    • Fix two unmount / access races when many mounts are present


    • Improve context switch hotpath


    • Cut pmap invalidations from buffer cache activity in half


    • Reduce certain potential interrupt stacking issues


    • Implement a new fixed memory pool for physio accesses, eliminating all SMP invalidations from the path


    • Refactor pmap invalidations to operate at a higher priority than critical sections, reduce response latency and greatly reducing multi-core stalls during heavy invalidation activity


    • Fix a 2-instruction SMP race during thread exit.


    • Add buffer cache repurposing to reduce TLB invalidations in high-I/O-thru-filesystem situations. Defaults to off (sysctl vfs.repurpose_enable).


    • Revamp the IPIQ (IPI messaging) mechanics to avoid deadlocks during heavy activity.


    • Revamp the IPI interrupt signalling mechanics to reduce unnecessary duplicate IPIs.


    • We no longer use the vm_map subsystem to dynamically allocate and deallocate KVM for the buffer-cache. Instead we pre-reserve the maximum amount of (unmapped) KVM for every buffer. This makes certain congestion-control algorithms for the buffer cache unnecessary and they have been removed.


    • Add a SMP %rip sniffer IPI, very useful for debugging.


    • Fix an issue where the reported real-time becomes inconsistent between cpu threads under heavy loads. This issue generally resulted in 'make' getting confused.


    • Refactor the VM prefaulting code to improve pipe-lining. This improves burst page-in performance when starting large applications such as chrome.


    • A lot of work to reduce noticable (but short) stalls in various subsystems when they have to work on large data-sets. For example such as when a process with 64GB of RSS exits.


    • Fix zfree()'s hysteresis, greatly reducing unnecessary IPIs.


    • Reduce stalls during major token contention. It used to be that a large multi-threaded program contending on a single lock across all cpus could create noticable stalls even if the program was running niced or at a high (aka low) dynamic priority. These situations have been fixed.


    • New threads should not inherit the sigalstack. Fixes issues with 'go'.


    • Fix MSI support issues.


    • Improve buffer flush and cluster_write linearity.


    • Allow drivers to register interrupts which are specifically meant to be high-frequency (disable the rate limiter for such interrupts).


    • Bring in ipfw3


    • implement a lockless in-kernel NAT for ipfw3 (note that PF's NAT is also mostly lockless).


    • Add ipfwsync for ipfw3, for synchronizing state between multiple machines.


    • Various procfs workarounds added to fix truss issues.


    • Implement PIE (place independent executables). Randomization be enabled with a sysctl kern.elf64.pie_base_mmap.


    • Implement ppoll() with precise microsecond timeout.


    • Fix VM issues with virtio.


    • Add EVFILT_FS support to kqueue.


    • Cut-down on the amount of BSS in the kernel binary. We ran over the loader's 64MB limit (with the initrd image and a few kld's also loaded), AGAIN!


    • modules.local mechanism added for non-base kernel modules.


    • Implement I2cSerialBus ACPI module support (used by IG4).


    • Implement ACPI's GPIO.


    • Work around HW VM bugs by aligning the kernel load's end address to 2MB, so there is no transition from 4K pages to 2MB pages for kernel text+data+bss.


    • Many, many HAMMER improvements.


    • HAMMER mount is now forced to noatime by default.


    • Do not allow the kqueue sleep timer to wrap.


    • User process scheduler adjustments to improve interactive responsiveness in situations where (essentially) batch jobs are syscall-heavy or VM fault-heavy.


    • Fix cpu selection skew in the scheduler with high fork/exec rates.


    • Fixed vfork()/getpid() bug in heavily threaded programs.


    • Refactor vm_page_alloc() and the pre-zeroing code to maintain cpu-v-cache affinity.

    更多改进信息,可查看完整发布说明

    下载地址:http://www.dragonflybsd.org/download/
    DragonFly BSD 4.6.0 发布,更好的支持 NVMe下载地址
     
正在加载...