Re: An attempt to improve the swap tokening:

From: Coywolf Qi Hunt
Date: Tue May 10 2005 - 02:55:07 EST


On 5/9/05, A.M. Fradley <u2amf@xxxxxxxxxxxxx> wrote:
> I'd been trying to reduce the amount of page swapping in order to improve the
> kernels behaviour during thrashing as a project for my course. I made this
> after Arjan van de Ven and Rik van Riel suggested I looked into the swap
> tokening mechanism as part of my research. I came up with a function to
> measure the swap rate and then to activate/deactivate the token mechanism
> depending on how much swapping was being done overall. I think the statistics
> I added to the thrash.c file could help it decide how to behave but I'm unsure
> how best to use them to do that.
>
> I've tried testing it a few different ways
> but none of them seem to make any difference. I think this is because of my
> tests though. I made one program that allocates a linked list, until it is
> 128MB long, then once it's done that, it should swap in the oldest page in
> order to free the memory and then swap the newest one back in to edit the
> pointer to the next node then continue for 2 mins. Then to test how much
> progress is made
> during the thrashing, I've been running a simple counter program that stops
> after minute and I've been comparing the max number reached for the different
> attempts I've been making with the kernel. The program for causing thrashing
> at least makes it swap pages because I can watch the memory and swap fill up in
> system monitor. Running the program to cause thrashing seems to work because
> the kernel begins reporting high swap rates when the list reaches the target
> length.
>
> Does anyone know any programs that are designed to test this type of
> thing or any comments on the code that I wrote? I'm still new at this, so I've
> probably misunderstood/left out some things. The updateSwapRate() fuction is
> called at the end of scheduler_tick(). That could probably go somewhere
> better. Also, I wasn't sure if changing the value of
> swap_token_default_timeout was all I needed to do to reactivate the tokening as
> it was disabled in 2.6.11 that I'm working with.
>


Wouldn't it be better shown in patch form?


--
Coywolf Qi Hunt
http://sosdg.org/~coywolf/
-
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/