Re: [PATCH] ubifs: limit the number of pages in shrink_liability

From: Richard Weinberger
Date: Tue Aug 06 2019 - 10:31:44 EST


----- UrsprÃngliche Mail -----
> Von: "Liu Song" <fishland@xxxxxxxxxx>
> An: "richard" <richard@xxxxxx>, "Artem Bityutskiy" <dedekind1@xxxxxxxxx>, "Adrian Hunter" <adrian.hunter@xxxxxxxxx>
> CC: "linux-mtd" <linux-mtd@xxxxxxxxxxxxxxxxxxx>, "linux-kernel" <linux-kernel@xxxxxxxxxxxxxxx>, "liu song11"
> <liu.song11@xxxxxxxxxx>
> Gesendet: Dienstag, 6. August 2019 16:21:40
> Betreff: [PATCH] ubifs: limit the number of pages in shrink_liability

> From: Liu Song <liu.song11@xxxxxxxxxx>
>
> If the number of dirty pages to be written back is large,
> then writeback_inodes_sb will block waiting for a long time,
> causing hung task detection alarm. Therefore, we should limit
> the maximum number of pages written back this time, which let
> the budget be completed faster. The remaining dirty pages
> tend to rely on the writeback mechanism to complete the
> synchronization.

On which kind of system do you hit this?
Your fix makes sense but I'd like to have more background information.

UBIFS acts that way for almost a decade, see:
b6e51316daed ("writeback: separate starting of sync vs opportunistic writeback")

Thanks,
//richard