On Tue, May 12, 2009 at 03:26:33PM +0800, Minchan Kim wrote:On Tue, 12 May 2009 10:53:19 +0800
Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:
The "move pages to active list" and "move pages to inactive list"Arithmetic on the LRU list is not good code for redability, I think. How about adding comment?
code blocks are mostly identical and can be served by a function.
Thanks to Andrew Morton for pointing this out.
Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>
---
mm/vmscan.c | 84 ++++++++++++++++++++------------------------------
1 file changed, 35 insertions(+), 49 deletions(-)
--- linux.orig/mm/vmscan.c
+++ linux/mm/vmscan.c
@@ -1225,6 +1225,36 @@ static inline void note_zone_scanning_pr
* But we had to alter page->flags anyway.
*/
+void move_active_pages_to_lru(enum lru_list lru, struct list_head *list)
+{
+ unsigned long pgmoved = 0;
+
+ while (!list_empty(&list)) {
+ page = lru_to_page(&list);
+ prefetchw_prev_lru_page(page, &list, flags);
+
+ VM_BUG_ON(PageLRU(page));
+ SetPageLRU(page);
+
+ VM_BUG_ON(!PageActive(page));
+ if (lru < LRU_ACTIVE)
+ ClearPageActive(page);
if (lru < LRU_ACTIVE) /* In case of moving from active list to inactive */
Ignore me if you think this is trivial.
Good suggestion. Or this simple one: "we are de-activating"?