Magellan Linux

Annotation of /trunk/kernel26-magellan/patches-2.6.16-r12/0036-2.6.16-swap-prefetch-fix-lru_cache_add_tail-tidy.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 72 - (hide annotations) (download)
Mon Jun 5 09:25:38 2006 UTC (18 years ago) by niro
File size: 4769 byte(s)
ver bump to 2.6.16-r12:
- updated to linux-2.6.16.19
- updated to ck11

1 niro 72 From akpm@osdl.org Thu May 18 17:57:10 2006
2     Return-Path: <akpm@osdl.org>
3     X-Original-To: kernel@kolivas.org
4     Delivered-To: kernel@kolivas.org
5     Received: from bhhdoa.org.au (bhhdoa.org.au [65.98.99.88])
6     by mail.kolivas.org (Postfix) with ESMTP id 9D79F9E201
7     for <kernel@kolivas.org>; Thu, 18 May 2006 17:57:14 +1000 (EST)
8     Received: from smtp.osdl.org (smtp.osdl.org [65.172.181.4])
9     by bhhdoa.org.au (Postfix) with ESMTP id 50395517F9
10     for <kernel@kolivas.org>; Thu, 18 May 2006 15:53:30 +1000 (EST)
11     Received: from shell0.pdx.osdl.net (fw.osdl.org [65.172.181.6])
12     by smtp.osdl.org (8.12.8/8.12.8) with ESMTP id k4I7v9tH000989
13     (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO);
14     Thu, 18 May 2006 00:57:10 -0700
15     Received: from localhost.localdomain (shell0.pdx.osdl.net [10.9.0.31])
16     by shell0.pdx.osdl.net (8.13.1/8.11.6) with ESMTP id k4I7v9TO012558;
17     Thu, 18 May 2006 00:57:09 -0700
18     Message-Id: <200605180757.k4I7v9TO012558@shell0.pdx.osdl.net>
19     Subject: + swap-prefetch-fix-lru_cache_add_tail-tidy.patch added to -mm tree
20     To: akpm@osdl.org,
21     a.p.zijlstra@chello.nl,
22     kernel@kolivas.org,
23     mm-commits@vger.kernel.org
24     From: akpm@osdl.org
25     Date: Thu, 18 May 2006 00:57:10 -0700
26     X-Spam-Status: No, hits=1.088 required=5 tests=NO_REAL_NAME
27     X-Spam-Level: *
28     X-Spam-Checker-Version: SpamAssassin 2.63-osdl_revision__1.74__
29     X-MIMEDefang-Filter: osdl$Revision: 1.1 $
30     X-Scanned-By: MIMEDefang 2.36
31     X-DSPAM-Result: Whitelisted
32     X-DSPAM-Confidence: 0.9997
33     X-DSPAM-Probability: 0.0000
34     X-DSPAM-Signature: 446c28e296891759557146
35     X-DSPAM-Factors: 27,
36     var+lru, 0.00010,
37     dirty+pages, 0.00010,
38     dirty+pages, 0.00010,
39     macros, 0.00010,
40     macros, 0.00010,
41     tail+struct, 0.00010,
42     tail+struct, 0.00010,
43     put+cpu, 0.00010,
44     struct+pagevec, 0.00010,
45     struct+pagevec, 0.00010,
46     lru+lock, 0.00010,
47     lru+lock, 0.00010,
48     irq+zone, 0.00010,
49     irq+zone, 0.00010,
50     devel+mm, 0.00010,
51     pagevec, 0.00010,
52     pagevec, 0.00010,
53     only+patch, 0.00010,
54     ON+PageLRU, 0.00010,
55     ON+PageLRU, 0.00010,
56     add+active, 0.00010,
57     add+active, 0.00010,
58     pvecs, 0.00010,
59     patch+git, 0.00010,
60     patch+git, 0.00010,
61     zone+lru, 0.00010,
62     zone+lru, 0.00010
63     X-UID: 19441
64     X-Length: 10183
65     Status: R
66     X-Status: NC
67     X-KMail-EncryptionState:
68     X-KMail-SignatureState:
69     X-KMail-MDN-Sent:
70    
71    
72     The patch titled
73    
74     swap-prefetch-fix-lru_cache_add_tail-tidy
75    
76     has been added to the -mm tree. Its filename is
77    
78     swap-prefetch-fix-lru_cache_add_tail-tidy.patch
79    
80     See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
81     out what to do about this
82    
83    
84     From: Andrew Morton <akpm@osdl.org>
85    
86     - Avoid the forward decl
87    
88     - Too big for inlining.
89    
90     Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
91     Acked-by: Con Kolivas <kernel@kolivas.org>
92     Signed-off-by: Andrew Morton <akpm@osdl.org>
93     ---
94    
95     mm/swap.c | 50 ++++++++++++++++++++++++--------------------------
96     1 files changed, 24 insertions(+), 26 deletions(-)
97    
98     Index: linux-2.6.16-ck11/mm/swap.c
99     ===================================================================
100     --- linux-2.6.16-ck11.orig/mm/swap.c 2006-05-21 12:24:27.000000000 +1000
101     +++ linux-2.6.16-ck11/mm/swap.c 2006-05-21 12:24:35.000000000 +1000
102     @@ -163,7 +163,30 @@ void fastcall lru_cache_add_active(struc
103     put_cpu_var(lru_add_active_pvecs);
104     }
105    
106     -static inline void __pagevec_lru_add_tail(struct pagevec *pvec);
107     +static void __pagevec_lru_add_tail(struct pagevec *pvec)
108     +{
109     + int i;
110     + struct zone *zone = NULL;
111     +
112     + for (i = 0; i < pagevec_count(pvec); i++) {
113     + struct page *page = pvec->pages[i];
114     + struct zone *pagezone = page_zone(page);
115     +
116     + if (pagezone != zone) {
117     + if (zone)
118     + spin_unlock_irq(&zone->lru_lock);
119     + zone = pagezone;
120     + spin_lock_irq(&zone->lru_lock);
121     + }
122     + BUG_ON(PageLRU(page));
123     + SetPageLRU(page);
124     + add_page_to_inactive_list_tail(zone, page);
125     + }
126     + if (zone)
127     + spin_unlock_irq(&zone->lru_lock);
128     + release_pages(pvec->pages, pvec->nr, pvec->cold);
129     + pagevec_reinit(pvec);
130     +}
131    
132     static void __lru_add_drain(int cpu)
133     {
134     @@ -391,31 +414,6 @@ void __pagevec_lru_add_active(struct pag
135     pagevec_reinit(pvec);
136     }
137    
138     -static inline void __pagevec_lru_add_tail(struct pagevec *pvec)
139     -{
140     - int i;
141     - struct zone *zone = NULL;
142     -
143     - for (i = 0; i < pagevec_count(pvec); i++) {
144     - struct page *page = pvec->pages[i];
145     - struct zone *pagezone = page_zone(page);
146     -
147     - if (pagezone != zone) {
148     - if (zone)
149     - spin_unlock_irq(&zone->lru_lock);
150     - zone = pagezone;
151     - spin_lock_irq(&zone->lru_lock);
152     - }
153     - BUG_ON(PageLRU(page));
154     - SetPageLRU(page);
155     - add_page_to_inactive_list_tail(zone, page);
156     - }
157     - if (zone)
158     - spin_unlock_irq(&zone->lru_lock);
159     - release_pages(pvec->pages, pvec->nr, pvec->cold);
160     - pagevec_reinit(pvec);
161     -}
162     -
163     /*
164     * Function used uniquely to put pages back to the lru at the end of the
165     * inactive list to preserve the lru order. Currently only used by swap