Hi, Since I'll be on vacation next week, I thought I'd send this out in case people wanted to play with it. It works here, but I haven't done any performance numbers at all. Patches 1-7 are all preparation patches for #8, which contains the real changes. I'm not particularly happy with the arch implementation for raising a softirq on another CPU, but it should be fast enough so suffice for testing. Anyway, this patchset is mainly meant as a playground for testing IO affinity. It allows you to set three values per queue, see the files in the /sys/block/<dev>/queue directory: completion_affinity Only allow completions to happen on the defined CPU mask. queue_affinity Only allow queuing to happen on the defined CPU mask. rq_affinity Always complete a request on the same CPU that queued it. As you can tell, there's some overlap to allow for experimentation. rq_affinity will override completion_affinity, so it's possible to have completions on a CPU that isn't set in that mask. The interface is currently limited to all CPUs or a specific CPU, but the implementation is supports (and works with) cpu masks. The logic is in blk_queue_set_cpumask(), it should be easy enough to change this to echo a full mask, or allow OR'ing of CPU masks when a new CPU is passed in. For now, echo a CPU number to set that CPU, or use -1 to set all CPUs. The default is all CPUs for no change in behaviour. Patch set is against current git as of this morning. The code is also in the block git repo, branch is io-cpu-affinity. git://git.kernel.dk/linux-2.6-block.git io-cpu-affinity -- Jens Axboe --
| Ingo Molnar | [bug] block subsystem related crash with latest -git |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Adrian Bunk | Re: net/ipv4/fib_trie.c - compile error (Re: 2.6.23-rc3-mm1) |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
| David Miller | [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
