Messages in this thread | | | Date | Wed, 15 Sep 2004 10:22:46 +1000 | From | Con Kolivas <> | Subject | Re: swapping and the value of /proc/sys/vm/swappiness |
| |
Marcelo Tosatti wrote: > On Wed, Sep 15, 2004 at 08:53:21AM +1000, Con Kolivas wrote: > >>Marcelo Tosatti wrote: >> >>>On Tue, Sep 14, 2004 at 11:31:53AM -0700, Florin Andrei wrote: >>> >>> >>>>On Mon, 2004-09-06 at 16:27, Andrew Morton wrote: >>>> >>>> >>>>>Con Kolivas <kernel@kolivas.org> wrote: >>>> >>>>>>The change was not deliberate but there have been some other people >>>>>>report significant changes in the swappiness behaviour as well (see >>>>>>archives). It has usually been of the increased swapping variety >>>>>>lately. It has been annoying enough to the bleeding edge desktop users >>>>>>for a swag of out-of-tree hacks to start appearing (like mine). >>>>> >>>>>All of which is largely wasted effort. >>>> >>>>>From a highly-theoretical, ivory-tower perspective, maybe; i am not the >>>>one to pass judgement. >>>>>From a realistic, "fix it 'cause it's performing worse than MSDOS >>>>without a disk cache" perspective, definitely not true. >>>> >>>>I've found a situation where the vanilla kernel has a behaviour that >>>>makes no sense: >>>> >>>>http://marc.theaimsgroup.com/?l=linux-kernel&m=109237941331221&w=2 >>>>http://marc.theaimsgroup.com/?l=linux-kernel&m=109237959719868&w=2 >>>>http://marc.theaimsgroup.com/?l=linux-kernel&m=109238126314192&w=2 >>>> >>>>A patch by Con Kolivas fixed it: >>>> >>>>http://marc.theaimsgroup.com/?l=linux-kernel&m=109410526607990&w=2 >>>> >>>>I cannot offer more details, i have no time for experiments, i just need >>>>a system that works. The vanilla kernel does not. >>> >>> >>>Have you tried to decrease the value of /proc/sys/vm/swappiness >>>to say 30 and see what you get? >>> >>>Andrew's point is that we should identify the problem - Con's patch >>>rewrites swapping policy. >> >>I already answered this. That hard swappiness patch does not really >>rewrite swapping policy. It identifies exactly what has changed because >>it does not count "distress in the swap tendency". Therefore if the >>swappiness value is the same, the mapped ratio is the same (in the >>workload) yet the vm is swappinig more, it is getting into more >>"distress". The mapped ratio is the same but the "distress" is for some >>reason much higher in later kernels, meaning the priority of our >>scanning is getting more and more intense. This should help direct your >>searches. > > >>These are the relevant lines of code _from mainline_: >> >>distress = 100 >> zone->prev_priority >>mapped_ratio = (sc->nr_mapped * 100) / total_memory; >>swap_tendency = mapped_ratio / 2 + distress + vm_swappiness >>if (swap_tendency >= 100) >>- reclaim_mapped = 1; >> >> >>That hard swappiness patch effectively made "distress == 0" always. > > So isnt it true that decreasing vm_swappiness should compensate > distress and have the same effect of your patch?
Nope. We swap large amounts with the wrong workload at swappiness==0 where we wouldn't before at swappiness==60. ie there is no workaround possible without changing the code in some way.
> To be fair I'm just arguing, haven't really looked at the code.
Thats cool ;)
Cheers, Con - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |