On 2011-09-28 21:05, Eric Seppanen wrote: > On Wed, Sep 28, 2011 at 11:16 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html