On June 29, 2020 3:52:31 PM GMT+03:00, Michal Hocko <mhocko@xxxxxxxxxx> wrote: >On Mon 29-06-20 13:18:16, Matthew Wilcox wrote: >> On Mon, Jun 29, 2020 at 08:08:51AM +0300, Mike Rapoport wrote: >> > > @@ -886,8 +868,12 @@ static struct dm_buffer >*__alloc_buffer_wait_no_callback(struct dm_bufio_client >> > > return NULL; >> > > >> > > if (dm_bufio_cache_size_latch != 1 && !tried_noio_alloc) { >> > > + unsigned noio_flag; >> > > + >> > > dm_bufio_unlock(c); >> > > - b = alloc_buffer(c, GFP_NOIO | __GFP_NORETRY | >__GFP_NOMEMALLOC | __GFP_NOWARN); >> > > + noio_flag = memalloc_noio_save(); >> > >> > I've read the series twice and I'm still missing the definition of >> > memalloc_noio_save(). >> > >> > And also it would be nice to have a paragraph about it in >> > Documentation/core-api/memory-allocation.rst >> >> >Documentation/core-api/gfp_mask-from-fs-io.rst:``memalloc_nofs_save``, >``memalloc_nofs_restore`` respectively ``memalloc_noio_save``, >> Documentation/core-api/gfp_mask-from-fs-io.rst: :functions: >memalloc_noio_save memalloc_noio_restore >> Documentation/core-api/gfp_mask-from-fs-io.rst:allows nesting so it >is safe to call ``memalloc_noio_save`` or > >The patch is adding memalloc_nowait* and I suspect Mike had that in >mind, which would be a fair request. Right, sorry misprinted that. > Btw. we are missing >memalloc_nocma* >documentation either - I was just reminded of its existence today.. -- Sincerely yours, Mike