On Tue, Jul 31, 2007 at 06:19:17AM +0200, Nick Piggin wrote:Yes. Implementation is the challenging part I guess. Yes, softirq context is one way. But just didn't want to penalize the running task by taking away some of its cpu time. With CFS micro accounting, perhaps we can track irq, softirq time and avoid penalizing the running task's cpu time. Improvement numbers quoted are from the OLTP database workload. We can look into other workloads. This workload is using direct IO and there is no batching at the block layer for direct IO. IO is submitted to the HW as it arrives. There is 3-4% iowait time in the system. So the cpu's are not 100% busy, but there is quite a bit of direct IO going on. It is applicable for both direct IO and buffered IO. But the implementations will differ. For example in buffered IO, we can setup in such a way that the block plug timeout function runs on the IO completion cpu. Correct. We have more potential to explore. Current implementation is very elementary. yes. or in other words, each kblockd thread catering multiple request queues (perhaps one for each cpu or one for group of cpu's). softirq context and each kblockd thread handling multiple request queues will lead to further improvements. thanks, suresh -
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Alan Cox | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Jan Engelhardt | intel iommu (Re: -mm merge plans for 2.6.23) |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | Re: [GIT]: Networking |
| Evgeniy Polyakov | Re: [BUG] New Kernel Bugs |
