Messages in this thread | | | Date | Thu, 30 Oct 2014 08:15:16 -0600 | From | Jens Axboe <> | Subject | Re: [RFC PATCH 0/5] Enable use of Solid State Hybrid Drives |
| |
On 2014-10-30 01:21, Dave Chinner wrote: > On Wed, Oct 29, 2014 at 03:24:11PM -0700, Dan Williams wrote: >> On Wed, Oct 29, 2014 at 3:09 PM, Dave Chinner <david@fromorbit.com> wrote: >>> On Wed, Oct 29, 2014 at 03:10:51PM -0600, Jens Axboe wrote: >>>> As for the fs accessing this, the io nice fields are readily exposed >>>> through the ->bi_rw setting. So while the above example uses ionice to >>>> set a task io priority (that a bio will then inherit), nothing prevents >>>> you from passing it in directly from the kernel. >>> >>> Right, but now the filesystem needs to provide that on a per-inode >>> basis, not from the task structure as the task that is submitting >>> the bio is not necesarily the task doing the read/write syscall. >>> >>> e.g. the write case above doesn't actually inherit the task priority >>> at the bio level at all because the IO is being dispatched by a >>> background flusher thread, not the ioniced task calling write(2). >> >> When the ioniced task calling write(2) inserts the page into the page >> cache then the current priority is recorded in the struct page. The > > It does? Can you point me to where the page cache code does this, > because I've clearly missed something important go by in the past > few months...
I was puzzled too, but then I realized that Dan is referring to patch 4/5 in the series...
-- Jens Axboe
| |