Re: [PATCH] Consolidate the request merging



Jens Axboe wrote:
Hi,

Right now, every IO scheduler implements its own backmerging (except for
noop, which does no merging). That results in duplicated code for
essentially the same operation, which is never a good thing. This patch
moves the backmerging out of the io schedulers and into the elevator
core. We save 1.6kb of text and as a bonus get backmerging for noop as
well. Win-win!

Notes:

- I dropped the "move hot entries to front" logic. It's never been
proven good, and some research indicates that it's a bad idea. I doubt
it matters in real life, so lets just cut that away.

- Next it might be a good idea to move the rb sorting into the elevator
core as well. We could save some more kernel text, but more
importantly it gets us one step closer to dropping deadline_rq from
the deadline scheduler.

Seems like a good idea. I don't think this could be a downside for anyone
except maybe Ken Chen, if it adds any overhead to the noop scheduler.

BTW, IMO it is a good idea for the noop scheduler to do as much merging as
possible, especially as it could be used for things like network block
devices (but more merging may actually cut down on CPU and IO bandwidth
even in the local disk case).

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [PATCH] Consolidate the request merging
    ... moves the backmerging out of the io schedulers and into the elevator ... We save 1.6kb of text and as a bonus get backmerging for noop as ... the deadline scheduler. ... IMO it is a good idea for the noop scheduler to do as much merging as ...
    (Linux-Kernel)
  • [PATCHSET] 0/7 IO scheduler abstractions
    ... Apart from noop, the others all implement their own back ... merging with hash helpers, sorting with rbtree helpers, and FIFO ... The noop scheduler gains ... deadline, as it is now allocation free in the request path! ...
    (Linux-Kernel)
  • Re: io scheduler silly question perhaps..
    ... Try benchmarking Anticipatory or Deadline against Noop, ... flash, but perhaps we need a simple "merge only" scheduler for this ...
    (Linux-Kernel)
  • Re: Fall back io scheduler for 2.6.15?
    ... >> I actually thought that elevator= got removed, ... Not an accident at all, actually, because the original patch i ... Since noop is guaranteed to be ... default scheduler is not loaded. ...
    (Linux-Kernel)
  • Re: wrong in_flight diskstat in 2.6.16.1
    ... I see weird output from /sys/block/sd/stat on our AMD64-X2 smp ... scheduler was used, change to noop didn't change anything. ... It is vanilla 2.6.16.1 and here are absolute values in hex and one second differences below: ...
    (Linux-Kernel)