Messages in this thread | | | Date | Wed, 30 Nov 2011 11:18:42 +0100 | From | Jens Axboe <> | Subject | Re: [GIT PULL] Queue free fix (was Re: [PATCH] block: Free queue resources at blk_release_queue()) |
| |
On 2011-09-28 21:05, Eric Seppanen wrote: > On Wed, Sep 28, 2011 at 11:16 AM, Christoph Hellwig <hch@infradead.org> wrote: >> Right now on high iops device queue_lock is the major killer for >> performance. It's one major reason (*) why a lot of the high iops devices >> are all moving to ->make_request, which has other issues. >> >> (*) others are struct request allocation and the pointless merge hash > > I agree: queue lock is the worst performance killer when hw can do >> 100K IOPS per block device. > > Rather than just being chased away from the request queue due to > performance issues, I could argue there's very little point to having > a queue for devices that > (a) have no seek penalty (and always use noop elevator) > (b) have hardware queues at least as deep as the default request queue > (c) don't benefit from merging > > (c) is maybe debatable, but if a device can saturate its bus bandwidth > on 4KB IO, the latency is probably not worth it.
I agree on a+b, but c is definitely more than debatable. I have yet to see a device saturate its bandwidth on 4KB IOS. So merging on the write side is always going to be a win.
-- Jens Axboe
| |