Re: [RFC] [PATCH] A clean aEvgeniy pproach to writeout throttling



On Mon, Dec 10 2007, Daniel Phillips wrote:
On Monday 10 December 2007 04:16, Jens Axboe wrote:
OK, let me get the neon out then. This has nothing to do with
throttling, I thought I made it clear that I get why you store the
origin queue in ->bi_queue. I'm concerned with the workings of
redirecting a bio. Previously we looked up the queue associated with
bio->bi_bdev inside the loop in __generic_make_request(), as is
REQUIRED to correctly locate a DIFFERENT queue if bio->bi_bdev has
been changed to point somewhere else.

Rhetoric aside, again.

We are only interested in throttling against the bio->bi_bdev that was
stored in the bio at the time of the call to generic_make_request, why
should we care about the redirected value?

Let me repeat - this has nothing to do with throttling! You are breaking
the bio redirection by killing that bdev_get_queue() in the
__generic_make_request().

I honestly don't know how to make this any clearer than I already did
above. Sleep on it.

--
Jens Axboe

--
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: [RFC] [PATCH] A clean aEvgeniy pproach to writeout throttling
    ... What happens on the second iteration of a recursive submission loop is ... recorded in the bio. ... throttling, I thought I made it clear that I get why you store the ... origin queue in ->bi_queue. ...
    (Linux-Kernel)
  • Re: [RFC] [PATCH] A clean aEvgeniy pproach to writeout throttling
    ... origin queue in ->bi_queue. ... redirecting a bio. ... We are only interested in throttling against the bio->bi_bdev that was ...
    (Linux-Kernel)
  • Re: Distributed storage.
    ... if we ruled that any bio in the system ... must originate from the standard pools. ... throttling in place than by saving an int in struct bio. ... cannot rely the block layer throttling globally or for a single device. ...
    (Linux-Kernel)
  • Re: [PATCH] Speed up the cdrw packet writing driver
    ... >> values of the maximum number of allowed bios in the queue. ... I reran the 48 files test using ext2 instead of udf and got this: ... Note that the packet writing driver only allocates one rb_node per bio ... Maybe some code path forgets to check the queue congestion state. ...
    (Linux-Kernel)
  • Re: Distributed storage.
    ... which seems to be callable in response to a local request, ... path to normal allocation, you risk deadlock. ... put more than 31 pages in sync, but in one bio. ... throttling we would see as many as 800,000 bios in flight. ...
    (Linux-Kernel)