Re: [RFC PATCH 0/5] Enable use of Solid State Hybrid Drives

From: Jens Axboe
Date: Thu Oct 30 2014 - 10:15:28 EST


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@xxxxxxxxxxxxx> 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

--
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/