Re: [PATCH 7/8] writeback: Do not sleep on the congestion queue ifthere are no congested BDIs

From: Minchan Kim
Date: Thu Sep 16 2010 - 04:00:08 EST


On Wed, Sep 15, 2010 at 01:27:50PM +0100, Mel Gorman wrote:
> If congestion_wait() is called with no BDI congested, the caller will sleep
> for the full timeout and this may be an unnecessary sleep. This patch adds
> a wait_iff_congested() that checks congestion and only sleeps if a BDI is
> congested else, it calls cond_resched() to ensure the caller is not hogging
> the CPU longer than its quota but otherwise will not sleep.
>
> This is aimed at reducing some of the major desktop stalls reported during
> IO. For example, while kswapd is operating, it calls congestion_wait()
> but it could just have been reclaiming clean page cache pages with no
> congestion. Without this patch, it would sleep for a full timeout but after
> this patch, it'll just call schedule() if it has been on the CPU too long.
> Similar logic applies to direct reclaimers that are not making enough
> progress.

I confused due to kswapd you mentioned.
This patch affects only direct reclaim.
Please, complete the description.

"This patch affects direct reclaimer to reduce stall"
Otherwise, looks good to me.

>
> Signed-off-by: Mel Gorman <mel@xxxxxxxxx>
Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx>

--
Kind regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/