On 2019/11/09 4:06, Bart Van Assche wrote: > On 11/7/19 5:57 PM, Damien Le Moal wrote: >> - buf = vzalloc(bufsize); >> - if (buf) >> - *buflen = bufsize; >> + while (bufsize >= SECTOR_SIZE) { >> + buf = vzalloc(bufsize); >> + if (buf) { >> + *buflen = bufsize; >> + return buf; >> + } >> + bufsize >>= 1; >> + } > > Hi Damien, > > Has it been considered to pass the __GFP_NORETRY flag to this vzalloc() > call? Do you mean using __vmalloc(bufsize, GFP_KERNEL | __GFP_ZERO | __GFP_NORETRY, PAGE_KERNEL); instead of vzalloc() ? (since we cannot pass GFP flags to vzalloc()...) Note that this is called with GFP_NOIO set for the caller context in the case of revalidate zones, and default to GFP_KERNEL for blkdev_report_zones() unless the caller also tweaks the context memalloc flags. > > Thanks, > > Bart. > -- Damien Le Moal Western Digital Research