Messages in this thread | | | From | Miklos Szeredi <> | Date | Fri, 10 May 2024 13:19:10 +0200 | Subject | Re: [PATCH v3 2/2] virtiofs: use GFP_NOFS when enqueuing request through kworker |
| |
On Fri, 26 Apr 2024 at 16:38, Hou Tao <houtao@huaweicloud.com> wrote: > > From: Hou Tao <houtao1@huawei.com> > > When invoking virtio_fs_enqueue_req() through kworker, both the > allocation of the sg array and the bounce buffer still use GFP_ATOMIC. > Considering the size of the sg array may be greater than PAGE_SIZE, use > GFP_NOFS instead of GFP_ATOMIC to lower the possibility of memory > allocation failure and to avoid unnecessarily depleting the atomic > reserves. GFP_NOFS is not passed to virtio_fs_enqueue_req() directly, > GFP_KERNEL and memalloc_nofs_{save|restore} helpers are used instead.
Makes sense.
However, I don't understand why the GFP_NOFS behavior is optional. It should work when queuing the request for the first time as well, no?
Thanks, Miklos
| |