On 1/24/22 11:48 AM, John Hubbard wrote: > External email: Use caution opening links or attachments > > > On 1/24/22 05:18, Matthew Wilcox wrote: >> On Sun, Jan 23, 2022 at 11:52:07PM -0800, John Hubbard wrote: >>> To ground this in reality, one of the partial call stacks is: >>> >>> do_direct_IO() >>> dio_zero_block() >>> page = ZERO_PAGE(0); <-- This is a problem >>> >>> I'm not sure what to use, instead of that zero page! The zero page >>> doesn't need to be allocated nor tracked, and so any replacement >>> approaches would need either other storage, or some horrid scheme that I >>> won't go so far as to write on the screen. :) >> >> I'm not really sure what the problem is. >> >> include/linux/mm.h: is_zero_pfn(page_to_pfn(page)); >> >> and release_pages() already contains: >> if (is_huge_zero_page(page)) >> continue; >> >> Why can't the BIO release function contain an is_zero_pfn() check? > > "OK." (With potential modifications as noted in the other thread with > Jan Kara and Chaitanya, we'll see.) > > Thanks for responding with that answer so quickly, much appreciated! > > Just one more thing, sine we will be modifying the code for allocation and de-allocation either way, it will be worth documenting the performance impact on dio code with and without the solutioneven if that is negligible in the cover-letter. > thanks, > -- > John Hubbard > NVIDIA