Hello, here is the new scheduler implementation, based on the original approach of SVR4, which also has various modifications in balancing and migration part mostly based on Solaris approach (described in Solaris Internals). It provides separate real-time (RT) and time-sharing (TS) queues, to differ the kernel and user threads and provide POSIX real-time extensions. Please note, that priority model (with separation of RT/TS ranges) has changed in vmlocking branch. Also, the support for thread affinity is prepared. http://www.netbsd.org/~rmind/m2/sched_m2.c http://www.netbsd.org/~rmind/m2/sched.diff Here are the results of SysBench OLTP PostgreSQL and MySQL benchmarks on the Core 2 Duo T5500 machine (averages of 3x runs): http://www.netbsd.org/~rmind/m2/pgsql_bench.png http://www.netbsd.org/~rmind/m2/mysql_bench.png I have also estimated ~4% improvement in the builds: http://www.netbsd.org/~rmind/m2/buildkern.txt MySQL benchmark on 4 x 700 MHz P-III Xeon (thanks Andrew for doing this!): http://www.netbsd.org/~rmind/m2/mysql_bench_4x.png This is a single run, and not with the latest version, thus - not accurate. To test the scheduler, SCHED_M2 option to the kernel config should be added, and SCHED_4BSD commented out. During the development, a lot of testing were done, so I would tend to think that scheduler is stable, while still might be tuned. This implementation is nohow related with the parts of SCHED_4BSD. I am going to import it into the tree. Please review. P.S. The name "SCHED_M2" is a result of poor imagination. -- Best regards, Mindaugas www.NetBSD.org
| Martin Bligh | Re: Unified tracing buffer |
| Ingo Molnar | [announce] "kill the Big Kernel Lock (BKL)" tree |
| Con Kolivas | [PATCH] [RFC] sched: accurate user accounting |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Krzysztof Oledzki | Error: an inet prefix is expected rather than "0/0". |
| Wenji Wu | A Linux TCP SACK Question |
| Ramachandra K | [PATCH 11/13] QLogic VNIC: Driver utility file - implements various utility macros |
| Jay Cliburn | Re: atl1 64-bit => 32-bit DMA borkage (reproducible, bisected) |
git: | |
| Andrew Morton | Untracked working tree files |
| Pierre Habouzit | Re: libgit2 - a true git library |
| Nicolas Vilz 'niv' | git + ssh + key authentication feature-request |
| Martin Langhoff | Re: pack operation is thrashing my server |
| Steve B | SSH brute force attacks no longer being caught by PF rule |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| rancor | How to copy/pipe console buffert to file? |
| Richard Stallman | Real men don't attack straw men |
| Question on swap as ramdisk partition | 37 minutes ago | Linux kernel |
| Netfilter kernel module | 11 hours ago | Linux kernel |
| serial driver xmit problem | 13 hours ago | Linux kernel |
| Why Windows is better than Linux | 13 hours ago | Linux general |
| How can I see my kernel messages in vt12? | 20 hours ago | Linux kernel |
| Grub | 1 day ago | Linux general |
| vmalloc_fault handling in x86_64 | 1 day ago | Linux kernel |
| epoll_wait()ing on epoll FD | 1 day ago | Linux kernel |
| Framebuffer in x86_64 causes problems to multiseat | 1 day ago | Linux kernel |
| Difference between 2.4 and 2.6 regarding thread creation | 2 days ago | Linux general |
