![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() |
Keywords
MotivationSoftware (HIGHMEM) and hardware (PCI32/ISA) issues caused the need of being able to efficiently allocate memory only from limited zones of memory, thus the allocator has to be zone aware. There are many kinds of caches in the linux kernel: dcache, buffer_cache, inode_cache, page_cache, swap_cache. The performance of the cache are critical for the global performance of the system. Also the behaviour of the cache recycling is critical if the working set doesn't fit in cache. SMP (Symmetric Multi-Processing) scheduler algorithms are critical for performance of SMP machines running CPU intensive tasks. Every single I/O passes through the elevator. Elevator is key point for disk performance when lots of tasks read and write to disk at the same time but latency and starvation trends have to be considered too. Developing and maintaining kernel code can be a very tedious and error-prone task, considering the amount of code and the kind of algorithms at stake. Therefore, all non time-critical parts of the kernel could be written in high level languages, to better render the semantics of the code to the developer and to get the same improvement in quality that userspace applications can get by using such high level languages. The goal of this topic is to address these major issues, both in terms of design and performance. Sub-topics
ProgramFriday, July 7th
|