Re: [v5][PATCH 6/6] mm: vmscan: drain batch list during long operations

Minchan Kim
2013-06-04T23:36:49Z

On Tue, Jun 04, 2013 at 04:31:15PM -0700, Dave Hansen wrote:
> On 06/04/2013 04:23 PM, Minchan Kim wrote:
> > On Tue, Jun 04, 2013 at 08:24:38AM -0700, Dave Hansen wrote:
> >> On 06/03/2013 11:05 PM, Minchan Kim wrote:
> >>>>> This ensures that we drain the batch if we are about to perform a
> >>>>> pageout() or congestion_wait(), either of which will take some
> >>>>> time. We expect this to help mitigate the worst of the latency
> >>>>> increase that the batching could cause.
> >>> Nice idea but I could see drain before pageout but congestion_wait?
> >>
> >> That comment managed to bitrot a bit :(
> >>
> >> The first version of these had the drain before pageout() only. Then,
> >> Mel added a congestion_wait() call, and I modified the series to also
> >> drain there. But, some other patches took the congestion_wait() back
> >> out, so I took that drain back out.
> >
> > I am looking next-20130530 and it has still a congestion_wait.
> > I'm confusing. :(
> >
> >
> > if (PageWriteback(page)) {
> > /* Case 1 above */
> > if (current_is_kswapd() &&
> > PageReclaim(page) &&
> > zone_is_reclaim_writeback(zone)) {
> > congestion_wait(BLK_RW_ASYNC, HZ/10);
> > zone_clear_flag(zone, ZONE_WRITEBACK);
> >>
> >> I _believe_ the only congestion_wait() left in there is a cgroup-related
> >> one that we didn't think would cause very much harm.
> >
> > The congestion_wait I am seeing is not cgroup-related one.
>
> Yeah, sorry for the confusion. There's been a whole lot of activity in
> there. My set is also done on top of a couple of fixes that Mel posted
> later on, including this one:
>
> https://patchwork.kernel.org/patch/2619901/
>
> *That* one removes the congestion_wait() you noticed.

Thanks for the information.
My nitpick just gets disappeared.

--
Kind regards,
Minchan Kim