On 06/14/2018 11:56 AM, Saeed Mahameed wrote:
Interestingly for this exact frag_stride we don't have an issue :)
since it goes through a different condition branch
(the page flipping thing):
if (frag_info->frag_stride == PAGE_SIZE / 2) {
frags->page_offset ^= PAGE_SIZE / 2;
release = page_count(page) != 1 ||
page_is_pfmemalloc(page) ||
page_to_nid(page) != numa_mem_id();
I guess you forgot to test on PowerPC where PAGE_SIZE=65536 ?
On PowerPC, the first branch is never taken.