Re: [PATCH v2] block : add larger order folio size instead of pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 02, 2024 at 02:53:40PM +0200, Christoph Hellwig wrote:
> On Thu, May 02, 2024 at 08:45:33AM +0200, Hannes Reinecke wrote:
> >> -		nr_pages = (fi.offset + fi.length - 1) / PAGE_SIZE -
> >> -			   fi.offset / PAGE_SIZE + 1;
> >> -		do {
> >> -			bio_release_page(bio, page++);
> >> -		} while (--nr_pages != 0);
> >> +		bio_release_page(bio, page);
> >
> > Errm. I guess you need to call 'folio_put()' here, otherwise the page 
> > reference counting will be messed up.
> 
> It shouldn't.  See the rfc patch and explanation that Keith sent in reply
> to the previous version.  But as I wrote earlier it should be a separate
> prep patch including a commit log clearly explaining the reason for it
> and how it works.

I think this is wandering into a minefield.  I'm pretty sure
it's considered valid to split the bio, and complete the two halves
independently.  Each one will put the refcounts for the pages it touches,
and if we do this early putting of references, that's going to fail.




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux