From: FabF <fabian.frederick@skynet.be>
To: Con Kolivas <kernel@kolivas.org>
Cc: Andrew Morton <akpm@osdl.org>,
nigelenki@comcast.net, linux-kernel@vger.kernel.org
Subject: Re: Autoregulate swappiness & inactivation
Date: Thu, 08 Jul 2004 12:54:57 +0200 [thread overview]
Message-ID: <1089284097.3691.52.camel@localhost.localdomain> (raw)
In-Reply-To: <cone.1089275229.304355.4554.502@pc.kolivas.org>
On Thu, 2004-07-08 at 10:27, Con Kolivas wrote:
> Andrew Morton writes:
>
> > Con Kolivas <kernel@kolivas.org> wrote:
> >>
> >> Andrew Morton writes:
> >>
> >> > Con Kolivas <kernel@kolivas.org> wrote:
> >> >>
> >> >> Ah what the heck. They can only be knocked back to where they already are.
> >> >
> >> > hm. You get an eGrump for sending two patchs in one email. Surprisingly
> >> > nice numbers though.
> >> >
> >> > How come vm_swappiness gets squared? That's the mysterious "bias
> >> > downwards", yes? What's the theory there?
> >>
> >> No real world feedback mechanism is linear. As the pressure grows the
> >> positive/negative feedback grows exponentially.
> >
> > That takes me back. The classic control system is PID:
> > Proportional/Integral/Derivative - they refer to the way in which the error
> > term (output-desired output) is fed back to the input:
> >
> > Proportional: the bigger the error, the more input drive
> >
> > Integral: feeding back a bit of the integral of the error prevents
> > permanent output skew due to non-infinite forward gain.
> >
> > Derivative: feeding back -(rate of change) provides damping.
> >
> > You can live without I and D - the main thing is to feed back the -error.
> >
> > IOW: linear works just fine :)
>
> /me hides
>
> Umm sorry the control systems I look at are physiological and tend to be
> exponential, so ignore me.
>
> > Your answer didn't help me understand the design though.
>
> Ok I'll just describe it. I should have just said that when mapped pages are
> low the best seems to be a very low swappiness, but not zero as zero seems
> to get bogged down easily (kswapd gets busy and basic things take longer) as
> occasionally slipping some pages onto swap helps. Generally it's when what I
> called the application pages (blush) get to around 75% that allowing things
> to swap at the rate equivalent to swappiness==60 is helpful. Once the mapped
> pages went greater than 75% the machine would start bogging down again if
> the swappiness remained at 60. I guess I made up the maths to fill the way
> the design worked best. Linear brought up the swappiness too easily and
> under swap thrash made things worse. It looked nicer but didn't really
> behave well.
>
> >> > Please define this new term "application pages"?
> >>
> >> errm it's fuzzy to say the least. It's the closest I can come to
> >> representing what end users understand as "non-cached" pages.
> >
> > Isn't that mapped pages?
>
> I'm all ears.
>
> >> > Those si_swapinfo() and si_meminfo() calls need to come out of there.
> >>
> >> I'm game. I had the idea but not the skill. Anyone wanna help me with that?
> >
> > Need to work out what cen be removed first. The freeswap/totalswap can go.
> > That leaves us needing what? totalram and freeram. If the algorithm can
> > be flipped over to use nr_mapped, we'd be looking good.
>
> Ok. I need some time to clean up this mess and try and figure out what to do
> then.
Con,
What's interesting is try_to_free_pages comment :
" the zone may be full of dirty or under-writeback pages, which this
* caller can't do much about. We kick pdflush and take explicit naps
in the
* hope that some of these pages can be written. But if the allocating
task..."
I mean do we have high activity profile of that side of the kernel when
bringing up some big application to life ?
Does work consist here in 50% out, 50% in (time) ? Your anticipation
algorithm can help the "in" side but maybe we can optimize yet the "out"
side.btw, I'm surprised to see autoswappiness so far in fx tree:
page_reclaim
try_to_free_pages
shrink_caches
shrink_zone
refill_inactive_zone
auto_swap calculation
IOW, does such parameter could not involve more decisions ?
Regards,
FabF
>
> 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/
>
next prev parent reply other threads:[~2004-07-08 10:55 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-07 15:16 2.6.7-ck5 Con Kolivas
2004-07-07 15:39 ` 2.6.7-ck5 John Richard Moser
2004-07-07 15:47 ` 2.6.7-ck5 Con Kolivas
2004-07-07 15:53 ` 2.6.7-ck5 Prakash K. Cheemplavam
2004-07-07 16:11 ` 2.6.7-ck5 P
2004-07-07 17:10 ` 2.6.7-ck5 Prakash K. Cheemplavam
2004-07-07 16:17 ` 2.6.7-ck5 Redeeman
2004-07-08 4:38 ` 2.6.7-ck5 Andrew Morton
2004-07-08 6:40 ` [PATCH] Autoregulate swappiness & inactivation Con Kolivas
2004-07-08 6:45 ` Con Kolivas
2004-07-08 7:06 ` [PATCH] " Nick Piggin
2004-07-08 7:12 ` Con Kolivas
2004-07-08 7:31 ` Nick Piggin
2004-07-08 8:03 ` Con Kolivas
2004-07-08 8:12 ` Nick Piggin
2004-07-08 17:06 ` John Richard Moser
2004-07-08 17:14 ` [ck] " Mikhail Ramendik
2004-07-08 17:10 ` [ck] Re: [PATCH] " Mikhail Ramendik
2004-07-09 1:03 ` Nick Piggin
2004-07-08 7:10 ` Andrew Morton
2004-07-08 7:58 ` Con Kolivas
2004-07-08 8:08 ` Andrew Morton
2004-07-08 8:27 ` Con Kolivas
2004-07-08 10:54 ` FabF [this message]
2004-07-09 1:05 ` Con Kolivas
2004-07-09 9:48 ` FabF
2004-07-09 10:43 ` Nick Piggin
2004-07-09 11:14 ` FabF
2004-07-09 11:24 ` Nick Piggin
2004-07-10 9:44 ` FabF
[not found] ` <40EFC076.9050504@yahoo.com.au>
2004-07-10 10:57 ` rss recovery FabF
2004-07-10 12:03 ` Nick Piggin
2004-07-13 13:12 ` FabF
2004-07-08 16:26 ` Autoregulate swappiness & inactivation Timothy Miller
2004-07-08 17:12 ` John Richard Moser
2004-07-08 18:37 ` Timothy Miller
2004-07-08 21:40 ` John Richard Moser
2004-07-09 7:44 ` Felipe Alfaro Solana
2004-07-08 16:24 ` [PATCH] Autotune swappiness Con Kolivas
2004-07-08 16:44 ` Andrew Morton
2004-07-09 0:39 ` Con Kolivas
2004-07-09 1:19 ` [ck] " Kerin Millar
2004-07-09 14:23 ` Martin J. Bligh
2004-07-09 14:26 ` Con Kolivas
2004-07-08 15:57 ` [ck] Re: 2.6.7-ck5 GSehp
2004-07-07 16:45 ` 2.6.7-ck5 John Richard Moser
2004-07-07 17:10 ` 2.6.7-ck5 Prakash K. Cheemplavam
2004-07-07 22:26 ` 2.6.7-ck5 Wes Janzen
2004-07-07 22:53 ` 2.6.7-ck5 Con Kolivas
-- strict thread matches above, loose matches on Subject: below --
2000-01-01 17:31 Autoregulate swappiness & inactivation deepfire
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1089284097.3691.52.camel@localhost.localdomain \
--to=fabian.frederick@skynet.be \
--cc=akpm@osdl.org \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nigelenki@comcast.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox