[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACVXFVO62t=6y7Wg+E2mUpueErpTeQ9D+1QqO6J_nSwnBLrRLg@mail.gmail.com>
Date: Tue, 1 Nov 2016 08:19:06 +0800
From: Ming Lei <tom.leiming@...il.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: Jens Axboe <axboe@...com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-block <linux-block@...r.kernel.org>,
Linux FS Devel <linux-fsdevel@...r.kernel.org>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Jens Axboe <axboe@...nel.dk>
Subject: Re: [PATCH 46/60] block: deal with dirtying pages for multipage bvec
On Mon, Oct 31, 2016 at 11:40 PM, Christoph Hellwig <hch@...radead.org> wrote:
> On Sat, Oct 29, 2016 at 04:08:45PM +0800, Ming Lei wrote:
>> In bio_check_pages_dirty(), bvec->bv_page is used as flag
>> for marking if the page has been dirtied & released, and if
>> no, it will be dirtied in deferred workqueue.
>>
>> With multipage bvec, we can't do that any more, so change
>> the logic into checking all pages in one mp bvec, and only
>> release all these pages if all are dirtied, otherwise dirty
>> them all in deferred wrokqueue.
>
> Just defer the whole bio to the workqueue if we need to redirty any,
> that avoids having all these complex iteratations.
For dio READ, it is always dirtied before submitting, so there should be
little possibity that pages in the bio becomes non-dirty after completion,
it should hurt performance if each direct-read bio is deferred to the block
wq.
thanks,
Ming Lei
Powered by blists - more mailing lists