1$NetBSD: system,v 1.13 2017/01/13 10:14:58 dholland Exp $ 2 3NetBSD System Roadmap 4===================== 5 6This is a roadmap document dealing deals with core system aspects of 7the operating system. 8 9The following elements, projects, and goals are considered strategic 10priorities for the project: 11 121. Tickless timing and scheduling (discussed in the mobile roadmap) 132. Long-term graphics architecture (discussed in the desktop roadmap) 148. Processor and cache topology aware scheduler 15 16The following elements, projects, and goals are not strategic 17priorities but are still important undertakings worth doing: 18 193. Full kernel preemption for real-time threads on non-x86 204. POSIX shared memory 216. Better resource controls 227. Improved observability: online crashdumps, remote debugging 23 24The following elements, projects, and goals are perhaps less pressing; 25this doesn't mean one shouldn't work on them but the expected payoff 26is perhaps less than for other things: 27 28 29Some explanations 30================= 31 323. Full kernel preemption for real-time threads on non-x86 33---------------------------------------------------------- 34 35With the revamp of the kernel concurrency model, much of the kernel is 36fully multi-threaded and can therefore be preempted at any time. In 37support of lower context switch and dispatch times for real-time 38threads, full kernel preemption is being implemented. This has been 39implemented already for i386 and x86_64 (and is in 5.0), but needs to 40be extended to support ARM and other ports. MIPS has this, as does 41PowerPC, but it is not yet enabled. 42 43Responsible: rmind 44 45 464. POSIX shared memory 47---------------------- 48 49Implement POSIX shared memory facilities, which can be used to create 50the shared memory objects and add the memory locations to the address 51space of a process. Changes were proposed on tech-kern, although 52there were some concerns with the kernel implementation, and so a 53different approach using wrapper functions on tmpfs is being aimed at 54for 6.0. 55 56XXX: what's the current state? 57 58Responsible: rmind 59 60 616. Better resource controls 62--------------------------- 63 64A resource provisioning and control framework that extends beyond the 65traditional Unix process limits. 66 67Responsible: TBD 68 69 707. Improved observability: online crashdumps, remote debugging 71-------------------------------------------------------------- 72 73XXX crashdumps while the system is running 74XXX firewire support in libkvm 75 76Responsible: TBD 77 78 798. Processor and cache topology aware scheduler 80----------------------------------------------- 81 82Implement the detection of the topology of the processors and caches. 83Improve the scheduler to make decisions about thread migration 84according to the topology, to get better thread affinity and less 85cache thrashing, and thus improve overall performance in modern SMP 86systems. Code has been written, but did not show any performance 87improvement. We will continue to monitor this area. 88 89Responsible: rmind 90 91 92Alistair Crooks 93Sat Jan 14 11:40:49 PST 2012 94