On Fri, Feb 10, 2012 at 12:01:05PM -0500, Rik van Riel wrote: > On 02/10/2012 11:37 AM, Mel Gorman wrote: > >On Thu, Jan 19, 2012 at 12:24:48PM -0800, Andrew Morton wrote: > > >>I think it is was always wrong that we only strip buffer_heads when > >>moving pages to the inactive list. What happens if those 600MB of > >>buffer_heads are all attached to inactive pages? > >> > > > >I wondered the same thing myself. With some use-once logic, there is > >no guarantee that they even get promoted to the active list in the > >first place. It's "always" been like this but we've changed how pages gets > >promoted quite a bit and this use case could have been easily missed. > > It may be possible to also strip the buffer heads from > pages when they are moved to the active list, in > activate_page(). > It'd be possible but is that really the right thing to do? I am thinking about when we call mark_page_accessed via touch_buffer, __find_get_block etc. In those paths, is it not implied the buffer_heads are in active use and releasing them would be counter-productive? -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>