[lkml]   [2003]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] swap 13/13 may_enter_fs?
    Hugh Dickins <> wrote:
    > shrink_list's may_enter_fs (may_write_page would be a better name)
    > currently reflects that swapcache page I/O won't suffer from FS
    > complications, so can be done if __GFP_IO without __GFP_FS; but
    > the same is true of a tmpfs page (which is just this stage away
    > from being a swapcache page), so check bdi->memory_backed instead.
    > ...
    > + if (!(gfp_mask & (bdi->memory_backed?
    > + __GFP_IO: __GFP_FS)))
    > goto keep_locked;

    Barf. I haven't used a question mark operator in ten years, and this is a
    fine demonstration of why ;)

    I think a feasibly comprehensible transformation would be:

    * A comment goes here
    if (bdi->memory_backed)
    may_enter_fs = gfp_mask & __GFP_IO;
    may_enter_fs = gfp_mask & __GFP_FS;

    That being said, this is a bit presumptuous. PF_MEMALLOC will protect us
    from infinite recursion but there are other reasons for GFP_NOFS.

    For example, a memory-backed filesystem may be trying to allocate GFP_NOFS
    memory while holding filesystem locks which are taken by its writepage.

    How about adding a new field to backing_dev_info for this case? Damned if I
    can think of a name for it though.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:34    [W:0.022 / U:58.336 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site