Re: [PATCH]vmscan: add block plug for page reclaim

From: Andrew Morton
Date: Wed Jul 27 2011 - 19:45:33 EST


On Sat, 23 Jul 2011 20:49:10 +0200
Jens Axboe <jaxboe@xxxxxxxxxxxx> wrote:

> > I can observe the average request size changes. Before the patch, the
> > average request size is about 90k from iostat (but the variation is
> > big). With the patch, the request size is about 100k and variation is
> > small.
>
> That's a good win right there, imho.

yup. Reduced CPU consumption on that path isn't terribly exciting IMO,
but improved request size is significant.

Using an additional 44 bytes of stack on that path is also
significant(ly bad). But we need to fix that problem anyway. One way
we could improve things in mm/vmscan.c is to move the blk_plug into
scan_control then get the scan_control off the stack in some manner.
That's easy for kswapd: allocate one scan_control per kswapd at
startup. Doing it for direct-reclaim would be a bit trickier...



And I have the usual maintainability whine. If someone comes up to
vmscan.c and sees it calling blk_start_plug(), how are they supposed to
work out why that call is there? They go look at the blk_start_plug()
definition and it is undocumented. I think we can do better than this?
--
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/