用户工具

站点工具


news:2010:freebsd_9_roadahead

FreeBSD 9.0展望

(这仅仅是一个未完成的草稿)

内核

网络栈

  • Ability to compile INET6 Only kernel
  • VIMAGE: More virtualization
  • Remove if(4) send queue
  • Dispatch sets of packets (Packet batching)
  • PCPU packet dispatch / Net taskq
  • Arguably this should be a generic interrupt thread task to convert interrupt threads to use more of a taskqueue-like model where interrupt handlers are scheduled events to reduce context switch overhead for processing concurrent interrupts.
  • Revised mbufs + tags
  • Align mbuf data and use extra space in resulting mbuf header area to store tags
  • Pass input queue info up from device
  • Allow bpf to tap a specific input queue on a multiqueue NIC for example
  • Fixing carp(4)
  • Multiq transmit support (if_transmit)
  • Connection groups locking paradigm
  • CPU cache analysis, should we prefetch parts of mbufs (headers), etc.
  • IEEE 802.1p (this may be already implemented?)

无线网络

  • 802.11n

设备驱动

  • Parallel device attach
    • The idea here is running device probe and attach routines concurrently to reduce boot time.
    • Some tricky questions here are that non-deterministic device names across boots would be a substantial POLA violation and that many bus drivers may not be ready for this complexity.

* usb视频设备支持 * Express Card * 扩展性硬件的交互

  • Not entirely sure what this is about – jhb@

* Flattened device tree support

  • FlattenedDeviceTree

* Further ATA/CAM work

  • Resolving different disk geometry under adaX vs adX?
  • Device naming

* Device I/O resource management (PnP OS support) (JohnBaldwin) * Starting the scheduler sooner for most of device attach (JohnBaldwin) * 电源管理

  • Option to power down NICs (D1/D2/D3) when they are down (may multiple policies here)
  • Handle C2+/C1E where local APIC timer is turned off (need backup timer (HPET?))

其它

* Virtualize more subsystems (VIMAGE) * 更多嵌入式平台支持

  • avr32
  • mips64

* Further work on improving scaling to large numbers of cores (e.g. 128)

  • Queued spin locks

* 动态芯片配置 (allowing CPUs to go offline/online) * ccNUMA support * Remove Giant if possible

  • SYSINIT()'s
  • module event handlers
  • !MPSAFE filesystems

* Unmapped disk I/O buffers (sglist in bio)

  • bus_dmamap_load_bio()
  • bio_adjust() / bio_start

* Fix the lemming syncer * Per-mount syncer threads * Modularity Hygiene (ask phk@ for more details)

  • Are optional things still optional or are things so intertwined that things are de facto required.

* MAC for ZFS * Flash FS support / NAND filesystem? * TRIM support

  • Depends on BIO_DELETE support in filesystems, would be implemented by BIO_DELETE requests

* tickless kernel / deadline scheduling * BIODELETE support for filesystems * per-thread credentials (ZachLoafman) * Kernel capabilities (RobertWatson)

  • Process file descriptors and capability rights used to sandbox processes.

* Performance monitoring counters (hwpmc(4)) support for embedded platforms *64-bit quotas for UFS (KirkMcKusick and DagErlingSmorgrav) * Hibernate support (S4) *VOP_OPLOCK support for allowing shared locking state between SMB / NFS, etc. (ZachLoafman) * Shared page data to allow pure userland implementations of certain system calls

  • Virtual system call proposal was probably related with this one

* Non-executable stack * Disallow mmap() to offset 0 from userspace (AlanCox and RobertWatson) * Clock / power domain management * Address space randomization * Start using disk labels to mount filesystems more aggressively / by default * Enable some sort of kernel debugging by default in release kernels

  • At minimum we want to get a DDB stack trace by default.
  • Possibly textdumps and/or kernel dumps with crashinfo enabled by default.

* 更好的 CONFIG(8)

  • 使用一系列的自定义内核选项来建构模块

* Xen DOM0 * Infiniband * ZFS as default

  • sysinstall support
  • Licensing?

* FreeBSD/amd64 中对 Linux 64位二进制包的支持 * Transactional NFS export updating * Move to disklabels * 更快的重启 (kernel part):

  • Don't go to the BIOS at 'reboot', but start the kernel from the beginning.(重启的时候不再进入BIOS,直接从内核开始。)

用户态程序及Ports

Ports和Packages

/data/vhosts/wiki-data/pages/news/2010/freebsd_9_roadahead.txt · 最后更改: 2011/10/01 22:00 由 虾球桑