Query - Related to kernel changes for GFP_NOIO flag

Suraj Choudhari <[email protected]> Sun, 5 Mar 2017 14:37:17 +0530
Newsgroups org.kernel.vger.linux-newbie
Message-ID <CAGvB2rP=C6AdDw=43pRhS85wbrxcpXE6cypXc=hSdQfJx=q-Fg@mail.gmail.com>
Hi,

The GFP_NOIO flag used for kmalloc is currently defined to be '__GFP_RECLAIM'

#define GFP_NOIO        (__GFP_RECLAIM)

#define __GFP_RECLAIM ((__force
gfp_t)(___GFP_DIRECT_RECLAIM|___GFP_KSWAPD_RECLAIM


However, prior to 4.4 kernel, this flag was defined as __GFP_WAIT.
#define GFP_NOIO        (__GFP_WAIT)


Queries -
======
1]  Can any physical disk IO happen due to memory allocation done
using 'GFP_NOIO' ?

      The reason to ask is since the GFP_NOIO is now modified to use
__GFP_KSWAPD_RECLAIM,  so I am thinking that physical disk IO may
probably happen whiel swapping the stale pages to disk in kswapd.

2] If kernel code wants to use kmalloc() and wants to ensure there is
NO any physical/disk IO due to kmalloc,  shall the kernel code use
__GFP_DIRECT_RECLAIM instead of GFP_NOIO ?


Thanks,
Suraj
--
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs