Re: [PATCH] Swap delay accounting, include lock_page() delays

From: Nick Piggin
Date: Wed Oct 31 2007 - 06:24:57 EST


On Wednesday 31 October 2007 18:41, Nick Piggin wrote:
> On Wednesday 31 October 2007 18:52, Balbir Singh wrote:
> > Reported-by: Nick Piggin <nickpiggin@xxxxxxxxxxxx>
> >
> > The delay incurred in lock_page() should also be accounted in swap delay
> > accounting
> >
> > Signed-off-by: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>
>
> Ah right, I forgot to resend this one, sorry. Thanks for remembering.

Although, I think I had a bit more detail in the changelog which
I think should be kept.

Basically, swap delay accounting seems quite broken as of now,
because what it is counting is the time required to allocate a new
page and submit the IO, but not actually the time to perform the IO
at all (which I'd expect will be significant, although possibly in
some workloads the actual page allocation will dominate).

>
> > ---
> >
> > mm/memory.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff -puN mm/swapfile.c~fix-delay-accounting-swap-accounting
> > mm/swapfile.c diff -puN mm/memory.c~fix-delay-accounting-swap-accounting
> > mm/memory.c ---
> > linux-2.6-latest/mm/memory.c~fix-delay-accounting-swap-accounting 2007-10
> >-3 1 12:58:05.000000000 +0530 +++
> > linux-2.6-latest-balbir/mm/memory.c 2007-10-31 13:02:50.000000000 +0530
> > @@ -2084,9 +2084,9 @@ static int do_swap_page(struct mm_struct
> > count_vm_event(PGMAJFAULT);
> > }
> >
> > - delayacct_clear_flag(DELAYACCT_PF_SWAPIN);
> > mark_page_accessed(page);
> > lock_page(page);
> > + delayacct_clear_flag(DELAYACCT_PF_SWAPIN);
> >
> > /*
> > * Back out if somebody else already faulted in this pte.
> > _

-
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/