On Thu, Apr 11, 2019 at 05:08:31PM -0400, jglisse@xxxxxxxxxx wrote: > From: Jérôme Glisse <jglisse@xxxxxxxxxx> > > We want to keep track of how we got a reference on page when doing DIO, > ie wether the page was reference through GUP (get_user_page*) or not. > For that this patch rework the way page reference is taken and handed > over between DIO code and BIO. Instead of taking a reference for page > that have been successfuly added to a BIO we just steal the reference > we have when we lookup the page (either through GUP or for ZERO_PAGE). > > So this patch keep track of wether the reference has been stolen by the > BIO or not. This avoids a bunch of get_page()/put_page() so this limit > the number of atomic operations. Is the asme set of changes appropriate for the fs/iomap.c direct IO path (i.e. XFS)? -Dave. -- Dave Chinner david@xxxxxxxxxxxxx