Re: zone state overhead

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 19, 2010 at 10:16:42AM +0900, KOSAKI Motohiro wrote:
> > > In this case, wakeup_kswapd() don't wake kswapd because
> > > 
> > > ---------------------------------------------------------------------------------
> > > void wakeup_kswapd(struct zone *zone, int order)
> > > {
> > >         pg_data_t *pgdat;
> > > 
> > >         if (!populated_zone(zone))
> > >                 return;
> > > 
> > >         pgdat = zone->zone_pgdat;
> > >         if (zone_watermark_ok(zone, order, low_wmark_pages(zone), 0, 0))
> > >                 return;                          // HERE
> > > ---------------------------------------------------------------------------------
> > > 
> > > So, if we take your approach, we need to know exact free pages in this.
> > 
> > Good point!
> > 
> > > But, zone_page_state_snapshot() is slow. that's dilemma.
> > > 
> > 
> > Very true. I'm prototyping a version of the patch that keeps
> > zone_page_state_snapshot but only uses is in wakeup_kswapd and
> > sleeping_prematurely.
> 
> Ok, this might works. but note, if we are running IO intensive workload, wakeup_kswapd()
> is called very frequently.

This is true. It is also necessary to alter wakeup_kswapd to minimise
the number of times it calls zone_watermark_ok_safe(). It'll need
careful review to be sure the new function is equivalent.

> because it is called even though allocation is succeed. we need to
> request Shaohua run and mesure his problem workload. and can you please cc me
> when you post next version? I hope to review it too.
> 

Of course. I have the prototype ready but am waiting on tests at the
moment. Unfortunately the necessary infrastructure has been unavailable for
the last 18 hours to run the test but I'm hoping it gets fixed soon.

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]