Thread (22 messages) 22 messages, 6 authors, 2011-03-01

Re: [PATCH 2/2] mm: compaction: Minimise the time IRQs are disabled while isolating pages for migration

From: KAMEZAWA Hiroyuki <hidden>
Date: 2011-03-01 04:56:21
Also in: lkml

On Tue, 1 Mar 2011 13:11:46 +0900
Minchan Kim [off-list ref] wrote:
On Tue, Mar 01, 2011 at 08:42:09AM +0900, KAMEZAWA Hiroyuki wrote:
quoted
On Mon, 28 Feb 2011 10:18:27 +0000
Mel Gorman [off-list ref] wrote:
quoted
quoted
BTW, can't we drop disable_irq() from all lru_lock related codes ?
I don't think so - at least not right now. Some LRU operations such as LRU
pagevec draining are run from IPI which is running from an interrupt so
minimally spin_lock_irq is necessary.
pagevec draining is done by workqueue(schedule_on_each_cpu()). 
I think only racy case is just lru rotation after writeback.
put_page still need irq disable.
Aha..ok. put_page() removes a page from LRU via __page_cache_release().
Then, we may need to remove a page from LRU under irq context.
Hmm...

Thanks,
-Kame

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  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@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help