Messages in this thread | | | Date | Tue, 17 Oct 2006 10:52:55 -0700 | From | Martin Bligh <> | Subject | Re: [RFC] Remove temp_priority |
| |
Nick Piggin wrote: > Martin Bligh wrote: > >> This is not tested yet. What do you think? >> >> This patch removes temp_priority, as it is racy. We're setting >> prev_priority from it, and yet temp_priority could have been >> set back to DEF_PRIORITY by another reclaimer. > > > I like it.
OK, I think that should fix most of it, and I'll admit it's cleaner than the first one.
> I wonder if we should get kswapd to stick its priority > into the zone at the point where zone_watermark_ok becomes true, > rather than setting all zones to the lowest priority? That would > require a bit more logic though I guess. > > For that matter (going off the topic a bit), I wonder if > try_to_free_pages should have a watermark check there too? This > might help reduce the latency issue you brought up where one process > has reclaimed a lot of pages, but another isn't making any progress > and has to go through the full priority range? Maybe that's > statistically pretty unlikely?
I've been mulling over how to kill prev_priority (and make everyone happy, including akpm). My original thought was to keep a different min_priority for each of GFP_IO, GFP_IO|GFP_FS, and the no IO ones. But we still have the problem of how to accurately set the min back up when we are sucessful.
Perhaps we should be a little more radical, and treat everyone apart from kswapd as independant. Keep a kswapd_priority in the zone structure, and all the direct reclaimers have their own local priority. Then we set distress from min(kswap_priority, priority). All that does is kick the direct reclaimers up a bit faster - kswapd has the easiest time reclaiming pages, so that should never be too low.
M.
- 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/
| |