Re: [PATCH 4/5] mm/vmscan: add 'else' to remove check_pending label

From: Michal Hocko
Date: Mon Jul 12 2021 - 04:15:01 EST


On Sat 10-07-21 18:03:28, Miaohe Lin wrote:
> We could add 'else' to remove the somewhat odd check_pending label to
> make code core succinct.

Yes, this makes the code easier to follow. The two modes of throttling
depending on the fs reclaim mode is more obvious now.

> Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

Thanks!

> ---
> mm/vmscan.c | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index c580bef6b885..a74760c48bd8 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -3428,18 +3428,14 @@ static bool throttle_direct_reclaim(gfp_t gfp_mask, struct zonelist *zonelist,
> * blocked waiting on the same lock. Instead, throttle for up to a
> * second before continuing.
> */
> - if (!(gfp_mask & __GFP_FS)) {
> + if (!(gfp_mask & __GFP_FS))
> wait_event_interruptible_timeout(pgdat->pfmemalloc_wait,
> allow_direct_reclaim(pgdat), HZ);
> + else
> + /* Throttle until kswapd wakes the process */
> + wait_event_killable(zone->zone_pgdat->pfmemalloc_wait,
> + allow_direct_reclaim(pgdat));
>
> - goto check_pending;
> - }
> -
> - /* Throttle until kswapd wakes the process */
> - wait_event_killable(zone->zone_pgdat->pfmemalloc_wait,
> - allow_direct_reclaim(pgdat));
> -
> -check_pending:
> if (fatal_signal_pending(current))
> return true;
>
> --
> 2.23.0

--
Michal Hocko
SUSE Labs