* kswapd in tight loop 2.6.9-rc3-bk-recent @ 2004-10-07 21:20 Chris Wright 2004-10-07 21:39 ` Dave Jones 2004-10-07 23:40 ` Andrew Morton 0 siblings, 2 replies; 24+ messages in thread From: Chris Wright @ 2004-10-07 21:20 UTC (permalink / raw) To: linux-kernel Is this known? Just came back from lunch, so I've no clue what kicked it off. Profile below. (2.6.9-rc3-bk from yesterday, pending updates don't appear to touch vmscan or mm/ in general). CPU: AMD64 processors, speed 1994.35 MHz (estimated) Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 100000 samples % symbol name 2410135 53.4092 balance_pgdat 1328186 29.4329 shrink_zone 555121 12.3016 shrink_slab 84942 1.8823 __read_page_state 40770 0.9035 timer_interrupt ... thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-07 21:20 kswapd in tight loop 2.6.9-rc3-bk-recent Chris Wright @ 2004-10-07 21:39 ` Dave Jones 2004-10-07 21:49 ` Chris Wright 2004-10-07 23:40 ` Andrew Morton 1 sibling, 1 reply; 24+ messages in thread From: Dave Jones @ 2004-10-07 21:39 UTC (permalink / raw) To: Chris Wright; +Cc: linux-kernel On Thu, Oct 07, 2004 at 02:20:19PM -0700, Chris Wright wrote: > Is this known? Just came back from lunch, so I've no clue what kicked it > off. Profile below. (2.6.9-rc3-bk from yesterday, pending updates don't > appear to touch vmscan or mm/ in general). > > CPU: AMD64 processors, speed 1994.35 MHz (estimated) > Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a > unit mask > of 0x00 (No unit mask) count 100000 > samples % symbol name > 2410135 53.4092 balance_pgdat > 1328186 29.4329 shrink_zone > 555121 12.3016 shrink_slab > 84942 1.8823 __read_page_state > 40770 0.9035 timer_interrupt I saw the same thing yesterday, also on an amd64 box though that could be coincidence. The kswapd1 process was pegging the cpu at 99% kswapd0 was idle. After a few minutes, the box became so unresponsive I had to reboot it. I had put this down to me fiddling with some patches, and it hasnt' reappeared today yet, but it sounds like we're seeing the same thing. Sadly, I didn't get a profile of what was happening. A 'make allmodconfig' triggered it for me, on a box with 2GB of ram, and 2GB of swap. No swap was in use when things 'went wierd', and there was a bunch of RAM sitting free too (about half a gig if memory serves correctly) Dave ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-07 21:39 ` Dave Jones @ 2004-10-07 21:49 ` Chris Wright 0 siblings, 0 replies; 24+ messages in thread From: Chris Wright @ 2004-10-07 21:49 UTC (permalink / raw) To: Dave Jones; +Cc: Chris Wright, linux-kernel * Dave Jones (davej@redhat.com) wrote: > I saw the same thing yesterday, also on an amd64 box though that > could be coincidence. The kswapd1 process was pegging the cpu at 99% > kswapd0 was idle. Same here. > After a few minutes, the box became so unresponsive > I had to reboot it. Well, that CPU is useless ;-) Otherwise the thing is still responding. One thing I noticed is the swap usage: # grep Swap proc/meminfo SwapCached: 4 kB SwapTotal: 2031608 kB SwapFree: 2031604 kB So, I'm guessing the first page that went out to swap started this thing off. > I had put this down to me fiddling with some patches, and it hasnt' > reappeared today yet, but it sounds like we're seeing the same thing. I do have some local changes too. But nothing that should trigger this. > Sadly, I didn't get a profile of what was happening. > A 'make allmodconfig' triggered it for me, on a box with 2GB of ram, > and 2GB of swap. No swap was in use when things 'went wierd', and > there was a bunch of RAM sitting free too (about half a gig if memory > serves correctly) Memory's a bit tighter here, but still 55M free though. # cat /proc/meminfo MemTotal: 2053240 kB MemFree: 55324 kB Buffers: 161900 kB Cached: 1321312 kB SwapCached: 4 kB Active: 988476 kB Inactive: 651820 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 2053240 kB LowFree: 55564 kB SwapTotal: 2031608 kB SwapFree: 2031604 kB Dirty: 28 kB Writeback: 0 kB Mapped: 205600 kB Slab: 334968 kB Committed_AS: 581136 kB PageTables: 8916 kB VmallocTotal: 536870911 kB VmallocUsed: 3080 kB VmallocChunk: 536867727 kB HugePages_Total: 0 HugePages_Free: 0 Hugepagesize: 2048 kB thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-07 21:20 kswapd in tight loop 2.6.9-rc3-bk-recent Chris Wright 2004-10-07 21:39 ` Dave Jones @ 2004-10-07 23:40 ` Andrew Morton 2004-10-08 0:34 ` Nick Piggin 1 sibling, 1 reply; 24+ messages in thread From: Andrew Morton @ 2004-10-07 23:40 UTC (permalink / raw) To: Chris Wright; +Cc: linux-kernel, Nick Piggin Chris Wright <chrisw@osdl.org> wrote: > > Is this known? Just came back from lunch, so I've no clue what kicked it > off. Profile below. (2.6.9-rc3-bk from yesterday, pending updates don't > appear to touch vmscan or mm/ in general). > > CPU: AMD64 processors, speed 1994.35 MHz (estimated) > Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a > unit mask > of 0x00 (No unit mask) count 100000 > samples % symbol name > 2410135 53.4092 balance_pgdat > 1328186 29.4329 shrink_zone > 555121 12.3016 shrink_slab > 84942 1.8823 __read_page_state Oh fanfuckingtastic. Something in there is failing to reach its termination condition. The code has become a trainwreck, so heaven knows what it was. For starters, let's actually use that local variable for something. We haven't been incrementing local variable total_scanned since the scan_control stuff went in. Signed-off-by: Andrew Morton <akpm@osdl.org> --- 25-akpm/mm/vmscan.c | 1 + 1 files changed, 1 insertion(+) diff -puN mm/vmscan.c~vmscan-total_scanned-fix mm/vmscan.c --- 25/mm/vmscan.c~vmscan-total_scanned-fix Thu Oct 7 16:31:55 2004 +++ 25-akpm/mm/vmscan.c Thu Oct 7 16:31:55 2004 @@ -1054,6 +1054,7 @@ scan: shrink_slab(sc.nr_scanned, GFP_KERNEL, lru_pages); sc.nr_reclaimed += reclaim_state->reclaimed_slab; total_reclaimed += sc.nr_reclaimed; + total_scanned += sc.nr_scanned; if (zone->all_unreclaimable) continue; if (zone->pages_scanned > zone->present_pages * 2) _ This probably won't fix it. It looks like the code will lock up if all zones are out of unreclaimable memory, but you won't be hitting that. I also wonder if it'll lock up if just the first zone has ->all_unreclaimable. I think a good starting point here will be to revert the most recent change. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-07 23:40 ` Andrew Morton @ 2004-10-08 0:34 ` Nick Piggin 2004-10-08 0:37 ` Andrew Morton 2004-10-08 0:42 ` Andrew Morton 0 siblings, 2 replies; 24+ messages in thread From: Nick Piggin @ 2004-10-08 0:34 UTC (permalink / raw) To: Andrew Morton; +Cc: Chris Wright, linux-kernel, Nick Piggin Andrew Morton wrote: > >This probably won't fix it. > >It looks like the code will lock up if all zones are out of unreclaimable >memory, but you won't be hitting that. > > Out of _reclaimable_ memory? It shouldn't if all_unreclaimable is being set correctly. >I also wonder if it'll lock up if just the first zone has ->all_unreclaimable. > > Well, not if the all_unreclaimable flag is set, but if it should be and isn't, then probably it will lock up. >I think a good starting point here will be to revert the most recent >change. > That may fix it for the simple fact that kswapd will just go through its priority loop once then stop. I think that resetting all_unreclaimable in free_pages_bulk is the wrong idea though, because that will keep it clear if a bit of kernel memory is being pinned and freed in the background, won't it? I had a look and decided that all_unreclaimable should probably be cleared only if vmscan.c frees some memory - but I couldn't really come up with any hard numbers to back me up :P ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 0:34 ` Nick Piggin @ 2004-10-08 0:37 ` Andrew Morton 2004-10-08 0:51 ` Chris Wright 2004-10-08 0:42 ` Andrew Morton 1 sibling, 1 reply; 24+ messages in thread From: Andrew Morton @ 2004-10-08 0:37 UTC (permalink / raw) To: Nick Piggin; +Cc: chrisw, linux-kernel, piggin Nick Piggin <nickpiggin@yahoo.com.au> wrote: > > >I think a good starting point here will be to revert the most recent > >change. > > > > That may fix it for the simple fact that kswapd will just go through its > priority loop once then stop. No it won't. It'll probably make the priority windup worse. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 0:37 ` Andrew Morton @ 2004-10-08 0:51 ` Chris Wright 2004-10-08 1:40 ` Andrew Morton 0 siblings, 1 reply; 24+ messages in thread From: Chris Wright @ 2004-10-08 0:51 UTC (permalink / raw) To: Andrew Morton; +Cc: Nick Piggin, chrisw, linux-kernel, piggin * Andrew Morton (akpm@osdl.org) wrote: > Nick Piggin <nickpiggin@yahoo.com.au> wrote: > > > > >I think a good starting point here will be to revert the most recent > > >change. > > > > > > > That may fix it for the simple fact that kswapd will just go through its > > priority loop once then stop. > > No it won't. It'll probably make the priority windup worse. In the interest of data collection, here's the last bit before I reboot. SysRq : Show Memory Mem-info: Node 1 DMA per-cpu: empty Node 1 Normal per-cpu: cpu 0 hot: low 32, high 96, batch 16 cpu 0 cold: low 0, high 32, batch 16 cpu 1 hot: low 32, high 96, batch 16 cpu 1 cold: low 0, high 32, batch 16 Node 1 HighMem per-cpu: empty Node 0 DMA per-cpu: cpu 0 hot: low 2, high 6, batch 1 cpu 0 cold: low 0, high 2, batch 1 cpu 1 hot: low 2, high 6, batch 1 cpu 1 cold: low 0, high 2, batch 1 Node 0 Normal per-cpu: cpu 0 hot: low 32, high 96, batch 16 cpu 0 cold: low 0, high 32, batch 16 cpu 1 hot: low 32, high 96, batch 16 cpu 1 cold: low 0, high 32, batch 16 Node 0 HighMem per-cpu: empty Free pages: 53200kB (0kB HighMem) Active:239438 inactive:178323 dirty:8 writeback:0 unstable:0 free:13300 slab:76700 mapped:52305 pagetables:2172 Node 1 DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB protections[]: 0 0 0 Node 1 Normal free:25272kB min:1020kB low:2040kB high:3060kB active:624172kB inactive:282700kB present:1047936kB protections[]: 0 0 0 Node 1 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB protections[]: 0 0 0 Node 0 DMA free:728kB min:12kB low:24kB high:36kB active:788kB inactive:7848kB present:16384kB protections[]: 0 0 0 Node 0 Normal free:27200kB min:1004kB low:2008kB high:3012kB active:332792kB inactive:422744kB present:1032188kB protections[]: 0 0 0 Node 0 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB protections[]: 0 0 0 Node 1 DMA: empty Node 1 Normal: 150*4kB 66*8kB 45*16kB 0*32kB 192*64kB 55*128kB 8*256kB 2*512kB 1*1024kB 0*2048kB 0*4096kB = 25272kB Node 1 HighMem: empty Node 0 DMA: 8*4kB 1*8kB 1*16kB 13*32kB 4*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 728kB Node 0 Normal: 10*4kB 3*8kB 2*16kB 3*32kB 308*64kB 43*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 27200kB Node 0 HighMem: empty Swap cache: add 79, delete 1, find 0/0, race 0+0 Free swap: 2031292kB 524127 pages of RAM 10946 reserved pages 263444 pages shared 78 pages swap cached ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 0:51 ` Chris Wright @ 2004-10-08 1:40 ` Andrew Morton 0 siblings, 0 replies; 24+ messages in thread From: Andrew Morton @ 2004-10-08 1:40 UTC (permalink / raw) To: Chris Wright; +Cc: nickpiggin, chrisw, linux-kernel, piggin Chris Wright <chrisw@osdl.org> wrote: > > Node 1 DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB > protections[]: 0 0 0 > Node 1 Normal free:25272kB min:1020kB low:2040kB high:3060kB active:624172kB inactive:282700kB present:1047936kB > protections[]: 0 0 0 > Node 1 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB > protections[]: 0 0 0 hm. empty zones all over the zonelist. We may not be handling that right. > Node 0 DMA free:728kB min:12kB low:24kB high:36kB active:788kB inactive:7848kB present:16384kB > protections[]: 0 0 0 > Node 0 Normal free:27200kB min:1004kB low:2008kB high:3012kB active:332792kB inactive:422744kB present:1032188kB > protections[]: 0 0 0 > Node 0 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB > protections[]: 0 0 0 I can't see anything here which would cause kswapd to go nuts. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 0:34 ` Nick Piggin 2004-10-08 0:37 ` Andrew Morton @ 2004-10-08 0:42 ` Andrew Morton 2004-10-08 1:41 ` Chris Wright 1 sibling, 1 reply; 24+ messages in thread From: Andrew Morton @ 2004-10-08 0:42 UTC (permalink / raw) To: Nick Piggin; +Cc: chrisw, linux-kernel, piggin OK, after backing out the `goto spaghetti;' patch and cleaning up a few thing I'll test the below. It'll make kswapd much less aggressive. diff -puN mm/vmscan.c~no-wild-kswapd-2 mm/vmscan.c --- 25/mm/vmscan.c~no-wild-kswapd-2 2004-10-07 17:38:20.342906376 -0700 +++ 25-akpm/mm/vmscan.c 2004-10-07 17:38:20.348905464 -0700 @@ -964,6 +964,17 @@ out: * of the number of free pages in the lower zones. This interoperates with * the page allocator fallback scheme to ensure that aging of pages is balanced * across the zones. + * + * kswapd can be semi-livelocked if some other process is allocating pages + * while kswapd is simultaneously trying to balance the same zone. That's OK, + * because we _want_ kswapd to work continuously in this situation. But a + * side-effect of kswapd's ongoing work is that the pageout priority keeps on + * winding up so we bogusly start doing swapout. + * + * To fix this we take a snapshot of the number of pages which need to be + * reclaimed from each zone in zone->pages_to_reclaim and never reclaim more + * pages than that. Once the required number of pages have been reclaimed from + * each zone, we're done. kwsapd will go back to sleep until someone wakes it. */ static int balance_pgdat(pg_data_t *pgdat, int nr_pages) { @@ -984,6 +995,7 @@ static int balance_pgdat(pg_data_t *pgda struct zone *zone = pgdat->node_zones + i; zone->temp_priority = DEF_PRIORITY; + zone->pages_to_reclaim = zone->pages_high - zone->pages_free; } for (priority = DEF_PRIORITY; priority >= 0; priority--) { @@ -1003,7 +1015,7 @@ static int balance_pgdat(pg_data_t *pgda priority != DEF_PRIORITY) continue; - if (zone->free_pages <= zone->pages_high) { + if (zone->pages_to_reclaim > 0) { end_zone = i; break; } @@ -1036,10 +1048,11 @@ static int balance_pgdat(pg_data_t *pgda if (zone->all_unreclaimable && priority != DEF_PRIORITY) continue; - if (nr_pages == 0) { /* Not software suspend */ - if (zone->free_pages <= zone->pages_high) - all_zones_ok = 0; - } + if (zone->pages_to_reclaim <= 0) + continue; + + if (nr_pages == 0) /* Not software suspend */ + all_zones_ok = 0; zone->temp_priority = priority; if (zone->prev_priority > priority) zone->prev_priority = priority; @@ -1049,6 +1062,10 @@ static int balance_pgdat(pg_data_t *pgda shrink_zone(zone, &sc); reclaim_state->reclaimed_slab = 0; shrink_slab(sc.nr_scanned, GFP_KERNEL, lru_pages); + + /* This fails to account for slab reclaim */ + zone->pages_to_reclaim -= sc.nr_reclaimed; + sc.nr_reclaimed += reclaim_state->reclaimed_slab; total_reclaimed += sc.nr_reclaimed; total_scanned += sc.nr_scanned; diff -puN include/linux/mmzone.h~no-wild-kswapd-2 include/linux/mmzone.h --- 25/include/linux/mmzone.h~no-wild-kswapd-2 2004-10-07 17:38:20.343906224 -0700 +++ 25-akpm/include/linux/mmzone.h 2004-10-07 17:40:20.847586880 -0700 @@ -137,8 +137,9 @@ struct zone { unsigned long nr_scan_inactive; unsigned long nr_active; unsigned long nr_inactive; - int all_unreclaimable; /* All pages pinned */ - unsigned long pages_scanned; /* since last reclaim */ + long pages_to_reclaim; /* kswapd usage */ + int all_unreclaimable; /* All pages pinned */ + unsigned long pages_scanned; /* since last reclaim */ ZONE_PADDING(_pad2_) _ ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 0:42 ` Andrew Morton @ 2004-10-08 1:41 ` Chris Wright 2004-10-08 1:51 ` Chris Wright 0 siblings, 1 reply; 24+ messages in thread From: Chris Wright @ 2004-10-08 1:41 UTC (permalink / raw) To: Andrew Morton; +Cc: Nick Piggin, chrisw, linux-kernel, piggin * Andrew Morton (akpm@osdl.org) wrote: > > OK, after backing out the `goto spaghetti;' patch and cleaning up a few > thing I'll test the below. It'll make kswapd much less aggressive. testing with this compile fix: diff -u 25-akpm/mm/vmscan.c edited/mm/vmscan.c --- 25-akpm/mm/vmscan.c 2004-10-07 17:38:20.348905464 -0700 +++ edited/mm/vmscan.c 2004-10-07 18:38:14 -07:00 @@ -999,7 +999,7 @@ struct zone *zone = pgdat->node_zones + i; zone->temp_priority = DEF_PRIORITY; - zone->pages_to_reclaim = zone->pages_high - zone->pages_free; + zone->pages_to_reclaim = zone->pages_high - zone->free_pages; } for (priority = DEF_PRIORITY; priority >= 0; priority--) { ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 1:41 ` Chris Wright @ 2004-10-08 1:51 ` Chris Wright 2004-10-08 1:53 ` Andrew Morton 0 siblings, 1 reply; 24+ messages in thread From: Chris Wright @ 2004-10-08 1:51 UTC (permalink / raw) To: Chris Wright; +Cc: Andrew Morton, Nick Piggin, linux-kernel, piggin * Chris Wright (chrisw@osdl.org) wrote: > * Andrew Morton (akpm@osdl.org) wrote: > > > > OK, after backing out the `goto spaghetti;' patch and cleaning up a few > > thing I'll test the below. It'll make kswapd much less aggressive. > > testing with this compile fix: passes initial simple testing (whereas I could get the mainline code, and the one-liner to spin right off). thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 1:51 ` Chris Wright @ 2004-10-08 1:53 ` Andrew Morton 2004-10-08 2:46 ` Nick Piggin 2004-10-08 3:05 ` Chris Wright 0 siblings, 2 replies; 24+ messages in thread From: Andrew Morton @ 2004-10-08 1:53 UTC (permalink / raw) To: Chris Wright; +Cc: nickpiggin, linux-kernel, piggin Chris Wright <chrisw@osdl.org> wrote: > > (whereas I could get the mainline code, and the > one-liner to spin right off). How? (up to and including .config please). ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 1:53 ` Andrew Morton @ 2004-10-08 2:46 ` Nick Piggin 2004-10-08 3:01 ` Andrew Morton 2004-10-08 3:05 ` Chris Wright 1 sibling, 1 reply; 24+ messages in thread From: Nick Piggin @ 2004-10-08 2:46 UTC (permalink / raw) To: Andrew Morton; +Cc: Chris Wright, nickpiggin, linux-kernel [-- Attachment #1: Type: text/plain, Size: 301 bytes --] Andrew Morton wrote: >Chris Wright <chrisw@osdl.org> wrote: > >>(whereas I could get the mainline code, and the >> one-liner to spin right off). >> > >How? (up to and including .config please). > > > Ah, free_pages <= pages_high, ie. 0 <= 0, which is true; commence spinning. How's this go? [-- Attachment #2: vm-fix-empty-zones.patch --] [-- Type: text/x-patch, Size: 1136 bytes --] Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> --- linux-2.6-npiggin/mm/vmscan.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN mm/vmscan.c~vm-fix-empty-zones mm/vmscan.c --- linux-2.6/mm/vmscan.c~vm-fix-empty-zones 2004-10-08 12:44:14.000000000 +1000 +++ linux-2.6-npiggin/mm/vmscan.c 2004-10-08 12:44:48.000000000 +1000 @@ -1003,7 +1003,7 @@ static int balance_pgdat(pg_data_t *pgda priority != DEF_PRIORITY) continue; - if (zone->free_pages <= zone->pages_high) { + if (zone->free_pages < zone->pages_high) { end_zone = i; goto scan; } @@ -1035,7 +1035,7 @@ scan: continue; if (nr_pages == 0) { /* Not software suspend */ - if (zone->free_pages <= zone->pages_high) + if (zone->free_pages < zone->pages_high) all_zones_ok = 0; } zone->temp_priority = priority; @@ -1142,7 +1142,7 @@ static int kswapd(void *p) */ void wakeup_kswapd(struct zone *zone) { - if (zone->free_pages > zone->pages_low) + if (zone->free_pages >= zone->pages_low) return; if (!waitqueue_active(&zone->zone_pgdat->kswapd_wait)) return; _ ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 2:46 ` Nick Piggin @ 2004-10-08 3:01 ` Andrew Morton 2004-10-08 3:13 ` Nick Piggin 2004-10-08 3:15 ` Nick Piggin 0 siblings, 2 replies; 24+ messages in thread From: Andrew Morton @ 2004-10-08 3:01 UTC (permalink / raw) To: Nick Piggin; +Cc: chrisw, nickpiggin, linux-kernel, Dave Jones Nick Piggin <piggin@cyberone.com.au> wrote: > > >Chris Wright <chrisw@osdl.org> wrote: > > > >>(whereas I could get the mainline code, and the > >> one-liner to spin right off). > >> > > > >How? (up to and including .config please). > > > > > > > > Ah, free_pages <= pages_high, ie. 0 <= 0, which is true; > commence spinning. Maybe. It requires that the zonelists be screwy: Node 1 DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB protections[]: 0 0 0 Node 1 Normal free:25272kB min:1020kB low:2040kB high:3060kB active:624172kB inactive:282700kB present:1047936kB protections[]: 0 0 0 Node 1 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB protections[]: 0 0 0 Node 0 DMA free:728kB min:12kB low:24kB high:36kB active:788kB inactive:7848kB present:16384kB protections[]: 0 0 0 Node 0 Normal free:27200kB min:1004kB low:2008kB high:3012kB active:332792kB inactive:422744kB present:1032188kB protections[]: 0 0 0 Node 0 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB protections[]: 0 0 0 See that DMA zone on node 1? Wonder how it got like that. It should not be inside pgdat->nrzones anyway. David, is your setup NUMA? Can you show us a sysrq-M dump? ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 3:01 ` Andrew Morton @ 2004-10-08 3:13 ` Nick Piggin 2004-10-08 3:30 ` Andrew Morton 2004-10-08 3:15 ` Nick Piggin 1 sibling, 1 reply; 24+ messages in thread From: Nick Piggin @ 2004-10-08 3:13 UTC (permalink / raw) To: Andrew Morton; +Cc: chrisw, nickpiggin, linux-kernel, Dave Jones Andrew Morton wrote: >Nick Piggin <piggin@cyberone.com.au> wrote: > >>>Chris Wright <chrisw@osdl.org> wrote: >>> >> > >> >>(whereas I could get the mainline code, and the >> >> one-liner to spin right off). >> >> >> > >> >How? (up to and including .config please). >> > >> > >> > >> >> Ah, free_pages <= pages_high, ie. 0 <= 0, which is true; >> commence spinning. >> > >Maybe. It requires that the zonelists be screwy: > > Node 1 DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB > protections[]: 0 0 0 > Node 1 Normal free:25272kB min:1020kB low:2040kB high:3060kB active:624172kB inactive:282700kB present:1047936kB > protections[]: 0 0 0 > Node 1 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB > protections[]: 0 0 0 > Node 0 DMA free:728kB min:12kB low:24kB high:36kB active:788kB inactive:7848kB present:16384kB > protections[]: 0 0 0 > Node 0 Normal free:27200kB min:1004kB low:2008kB high:3012kB active:332792kB inactive:422744kB present:1032188kB > protections[]: 0 0 0 > Node 0 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB > protections[]: 0 0 0 > >See that DMA zone on node 1? Wonder how it got like that. It >should not be inside pgdat->nrzones anyway. > > Oh? Why not? I didn't think empty zones were filtered out? (perhaps they should be). >David, is your setup NUMA? Can you show us a sysrq-M dump? > > Yes. Incase he's alseep, I'll quote: "I saw the same thing yesterday, also on an amd64 box though that could be coincidence. The kswapd1 process was pegging the cpu at 99% kswapd0 was idle. After a few minutes, the box became so unresponsive" ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 3:13 ` Nick Piggin @ 2004-10-08 3:30 ` Andrew Morton 2004-10-08 3:54 ` Nick Piggin 2004-10-08 5:21 ` Chris Wright 0 siblings, 2 replies; 24+ messages in thread From: Andrew Morton @ 2004-10-08 3:30 UTC (permalink / raw) To: Nick Piggin; +Cc: chrisw, nickpiggin, linux-kernel, davej Nick Piggin <piggin@cyberone.com.au> wrote: > > >> Ah, free_pages <= pages_high, ie. 0 <= 0, which is true; > >> commence spinning. > >> > > > >Maybe. It requires that the zonelists be screwy: > > > > Node 1 DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB > > protections[]: 0 0 0 > > Node 1 Normal free:25272kB min:1020kB low:2040kB high:3060kB active:624172kB inactive:282700kB present:1047936kB > > protections[]: 0 0 0 > > Node 1 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB > > protections[]: 0 0 0 > > Node 0 DMA free:728kB min:12kB low:24kB high:36kB active:788kB inactive:7848kB present:16384kB > > protections[]: 0 0 0 > > Node 0 Normal free:27200kB min:1004kB low:2008kB high:3012kB active:332792kB inactive:422744kB present:1032188kB > > protections[]: 0 0 0 > > Node 0 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB > > protections[]: 0 0 0 > > > >See that DMA zone on node 1? Wonder how it got like that. It > >should not be inside pgdat->nrzones anyway. > > > > > Oh? Why not? I didn't think empty zones were filtered out? That ininitialised zone should be outside pgdat->nr_zones, no? > (perhaps they should be). They will be. Chris, do you have time to test this, against -linus? diff -puN mm/vmscan.c~vmscan-handle-empty-zones mm/vmscan.c --- 25/mm/vmscan.c~vmscan-handle-empty-zones 2004-10-07 19:10:52.844797784 -0700 +++ 25-akpm/mm/vmscan.c 2004-10-07 19:11:49.804138648 -0700 @@ -851,6 +851,9 @@ shrink_caches(struct zone **zones, struc for (i = 0; zones[i] != NULL; i++) { struct zone *zone = zones[i]; + if (zone->present_pages == 0) + continue; + zone->temp_priority = sc->priority; if (zone->prev_priority > sc->priority) zone->prev_priority = sc->priority; @@ -999,6 +1002,9 @@ static int balance_pgdat(pg_data_t *pgda for (i = pgdat->nr_zones - 1; i >= 0; i--) { struct zone *zone = pgdat->node_zones + i; + if (zone->present_pages == 0) + continue; + if (zone->all_unreclaimable && priority != DEF_PRIORITY) continue; @@ -1033,6 +1039,9 @@ static int balance_pgdat(pg_data_t *pgda for (i = 0; i <= end_zone; i++) { struct zone *zone = pgdat->node_zones + i; + if (zone->present_pages == 0) + continue; + if (zone->all_unreclaimable && priority != DEF_PRIORITY) continue; _ ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 3:30 ` Andrew Morton @ 2004-10-08 3:54 ` Nick Piggin 2004-10-08 4:48 ` Nick Piggin 2004-10-08 5:21 ` Chris Wright 1 sibling, 1 reply; 24+ messages in thread From: Nick Piggin @ 2004-10-08 3:54 UTC (permalink / raw) To: Andrew Morton; +Cc: chrisw, nickpiggin, linux-kernel, davej Andrew Morton wrote: >Nick Piggin <piggin@cyberone.com.au> wrote: > >>>>Ah, free_pages <= pages_high, ie. 0 <= 0, which is true; >>>> >> >> commence spinning. >> >> >> > >> >Maybe. It requires that the zonelists be screwy: >> > >> > Node 1 DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB >> > protections[]: 0 0 0 >> > Node 1 Normal free:25272kB min:1020kB low:2040kB high:3060kB active:624172kB inactive:282700kB present:1047936kB >> > protections[]: 0 0 0 >> > Node 1 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB >> > protections[]: 0 0 0 >> > Node 0 DMA free:728kB min:12kB low:24kB high:36kB active:788kB inactive:7848kB present:16384kB >> > protections[]: 0 0 0 >> > Node 0 Normal free:27200kB min:1004kB low:2008kB high:3012kB active:332792kB inactive:422744kB present:1032188kB >> > protections[]: 0 0 0 >> > Node 0 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB >> > protections[]: 0 0 0 >> > >> >See that DMA zone on node 1? Wonder how it got like that. It >> >should not be inside pgdat->nrzones anyway. >> > >> > >> Oh? Why not? I didn't think empty zones were filtered out? >> > >That ininitialised zone should be outside pgdat->nr_zones, no? > > >> (perhaps they should be). >> > >They will be. > I don't think the DMA side will be skipped though? Because you're always counting down from nr_zones... That would be what it is what it is spinning on. > >Chris, do you have time to test this, against -linus? > > I think my patch would be sufficient to handle the kswapd side (yours would be valid too, but no need to add the extra checks). >diff -puN mm/vmscan.c~vmscan-handle-empty-zones mm/vmscan.c >--- 25/mm/vmscan.c~vmscan-handle-empty-zones 2004-10-07 19:10:52.844797784 -0700 >+++ 25-akpm/mm/vmscan.c 2004-10-07 19:11:49.804138648 -0700 >@@ -851,6 +851,9 @@ shrink_caches(struct zone **zones, struc > for (i = 0; zones[i] != NULL; i++) { > struct zone *zone = zones[i]; > >+ if (zone->present_pages == 0) >+ continue; >+ > zone->temp_priority = sc->priority; > if (zone->prev_priority > sc->priority) > zone->prev_priority = sc->priority; > ...but could probably use something like this as well, for the direct reclaim side. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 3:54 ` Nick Piggin @ 2004-10-08 4:48 ` Nick Piggin 2004-10-08 4:57 ` Andrew Morton 0 siblings, 1 reply; 24+ messages in thread From: Nick Piggin @ 2004-10-08 4:48 UTC (permalink / raw) To: Nick Piggin; +Cc: Andrew Morton, chrisw, linux-kernel, davej [-- Attachment #1: Type: text/plain, Size: 576 bytes --] Nick Piggin wrote: > > I think my patch would be sufficient to handle the kswapd side > (yours would be valid too, but no need to add the extra checks). Here is the combined patch with Andrew's hunk added. I guess it doesn't _really_ matter which gets tested, but this one is probably the preferred way to go because it doesn't even wake up kswapd for empty zones. Andrew, do you agree? I guess it should get into -bk pretty soon if it passes testing. It is fairly easy to see the failure cases that are fixed (and hopefully it doesn't domino yet another latent bug :P). [-- Attachment #2: vm-fix-empty-zones.patch --] [-- Type: text/x-patch, Size: 1445 bytes --] Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> --- linux-2.6-npiggin/mm/vmscan.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff -puN mm/vmscan.c~vm-fix-empty-zones mm/vmscan.c --- linux-2.6/mm/vmscan.c~vm-fix-empty-zones 2004-10-08 12:44:14.000000000 +1000 +++ linux-2.6-npiggin/mm/vmscan.c 2004-10-08 14:28:04.000000000 +1000 @@ -851,6 +851,9 @@ shrink_caches(struct zone **zones, struc for (i = 0; zones[i] != NULL; i++) { struct zone *zone = zones[i]; + if (zone->present_pages == 0) + continue; + zone->temp_priority = sc->priority; if (zone->prev_priority > sc->priority) zone->prev_priority = sc->priority; @@ -1003,7 +1006,7 @@ static int balance_pgdat(pg_data_t *pgda priority != DEF_PRIORITY) continue; - if (zone->free_pages <= zone->pages_high) { + if (zone->free_pages < zone->pages_high) { end_zone = i; goto scan; } @@ -1035,7 +1038,7 @@ scan: continue; if (nr_pages == 0) { /* Not software suspend */ - if (zone->free_pages <= zone->pages_high) + if (zone->free_pages < zone->pages_high) all_zones_ok = 0; } zone->temp_priority = priority; @@ -1142,7 +1145,7 @@ static int kswapd(void *p) */ void wakeup_kswapd(struct zone *zone) { - if (zone->free_pages > zone->pages_low) + if (zone->free_pages >= zone->pages_low) return; if (!waitqueue_active(&zone->zone_pgdat->kswapd_wait)) return; _ ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 4:48 ` Nick Piggin @ 2004-10-08 4:57 ` Andrew Morton 0 siblings, 0 replies; 24+ messages in thread From: Andrew Morton @ 2004-10-08 4:57 UTC (permalink / raw) To: Nick Piggin; +Cc: piggin, chrisw, linux-kernel, davej Nick Piggin <nickpiggin@yahoo.com.au> wrote: > > - if (zone->free_pages <= zone->pages_high) { > + if (zone->free_pages < zone->pages_high) { This is too subtle. An open-coded test for non-zero ->present_pages is far more readable and maintainable. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 3:30 ` Andrew Morton 2004-10-08 3:54 ` Nick Piggin @ 2004-10-08 5:21 ` Chris Wright 2004-10-08 5:27 ` Chris Wright 2004-10-08 10:10 ` Nick Piggin 1 sibling, 2 replies; 24+ messages in thread From: Chris Wright @ 2004-10-08 5:21 UTC (permalink / raw) To: Andrew Morton; +Cc: Nick Piggin, chrisw, nickpiggin, linux-kernel, davej * Andrew Morton (akpm@osdl.org) wrote: > Chris, do you have time to test this, against -linus? Yeah. This patch held up against the simple testing, as did Nick's (not the most recent combined one from him). Here's some sample output from annotation I added: balance_pgdat:1050: zone->DMA present_pages == 0 balance_pgdat:1050: zone->DMA present_pages == 0 balance_pgdat:1050: zone->DMA present_pages == 0 balance_pgdat:1050: zone->DMA present_pages == 0 balance_pgdat:1013: zone->DMA present_pages == 0 balance_pgdat:1050: zone->DMA present_pages == 0 balance_pgdat:1050: zone->DMA present_pages == 0 balance_pgdat:1050: zone->DMA present_pages == 0 thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 5:21 ` Chris Wright @ 2004-10-08 5:27 ` Chris Wright 2004-10-08 10:10 ` Nick Piggin 1 sibling, 0 replies; 24+ messages in thread From: Chris Wright @ 2004-10-08 5:27 UTC (permalink / raw) To: Chris Wright; +Cc: Andrew Morton, Nick Piggin, nickpiggin, linux-kernel, davej * Chris Wright (chrisw@osdl.org) wrote: > * Andrew Morton (akpm@osdl.org) wrote: > > Chris, do you have time to test this, against -linus? > > Yeah. This patch held up against the simple testing, as did Nick's (not > the most recent combined one from him). err, meaning: I have not tested Nick's most recent combined patch. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 5:21 ` Chris Wright 2004-10-08 5:27 ` Chris Wright @ 2004-10-08 10:10 ` Nick Piggin 1 sibling, 0 replies; 24+ messages in thread From: Nick Piggin @ 2004-10-08 10:10 UTC (permalink / raw) To: Chris Wright; +Cc: Andrew Morton, Nick Piggin, linux-kernel, davej Chris Wright wrote: > * Andrew Morton (akpm@osdl.org) wrote: > >>Chris, do you have time to test this, against -linus? > > > Yeah. This patch held up against the simple testing, as did Nick's (not > the most recent combined one from him). > Thanks. Any/all patches should do much the same job. I'm pretty confident this was just a minor artifact brought out by an earlier change, and things still look good for 2.6.9. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 3:01 ` Andrew Morton 2004-10-08 3:13 ` Nick Piggin @ 2004-10-08 3:15 ` Nick Piggin 1 sibling, 0 replies; 24+ messages in thread From: Nick Piggin @ 2004-10-08 3:15 UTC (permalink / raw) To: Andrew Morton; +Cc: chrisw, nickpiggin, linux-kernel, Dave Jones Andrew Morton wrote: >Nick Piggin <piggin@cyberone.com.au> wrote: > >>>Chris Wright <chrisw@osdl.org> wrote: >>> >> > >> >>(whereas I could get the mainline code, and the >> >> one-liner to spin right off). >> >> >> > >> >How? (up to and including .config please). >> > >> > >> > >> >> Ah, free_pages <= pages_high, ie. 0 <= 0, which is true; >> commence spinning. >> > >Maybe. It requires that the zonelists be screwy: > > Note that if this *was* the problem, then it would not be the fault of my recent patch, rather *every* allocation (when memory is lowish) would cause kswapd to wind through its priority loop then stop. Probably not using enough CPU for anyone to really notice though. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: kswapd in tight loop 2.6.9-rc3-bk-recent 2004-10-08 1:53 ` Andrew Morton 2004-10-08 2:46 ` Nick Piggin @ 2004-10-08 3:05 ` Chris Wright 1 sibling, 0 replies; 24+ messages in thread From: Chris Wright @ 2004-10-08 3:05 UTC (permalink / raw) To: Andrew Morton; +Cc: Chris Wright, nickpiggin, linux-kernel, piggin [-- Attachment #1: Type: text/plain, Size: 705 bytes --] * Andrew Morton (akpm@osdl.org) wrote: > Chris Wright <chrisw@osdl.org> wrote: > > > > (whereas I could get the mainline code, and the > > one-liner to spin right off). > > How? (up to and including .config please). I just started up memhog (attached), and waited for swapping to start. After a bit into swap (nothing happened) I killed it, and did swapoff in order to start over. This promptly triggered the looping. Then I tried your one-liner patch. And once memhog pushed pages into swap, kswapd spun off. In both cases it was quick and easy to reproduce, although the trigger wasn't identical. thanks, -chris -- Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net [-- Attachment #2: memhog.c --] [-- Type: text/x-c++src, Size: 301 bytes --] #include <unistd.h> main(int argc, char *argv[]) { void *p; int sz = getpagesize(); int max=0, total=0; if (argc > 1) max = atoi(argv[1]); while(1) { p = (void *)malloc(sz); if (p) memset(p, 0, sz); else break; total += sz; if (max && total >= max) break; } pause(); } [-- Attachment #3: kswapd.config --] [-- Type: text/plain, Size: 29108 bytes --] # # Automatically generated make config: don't edit # Linux kernel version: 2.6.9-rc3 # Thu Oct 7 12:12:28 2004 # CONFIG_X86_64=y CONFIG_64BIT=y CONFIG_X86=y CONFIG_MMU=y CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_X86_CMPXCHG=y CONFIG_EARLY_PRINTK=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y # # General setup # CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_HOTPLUG=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SHMEM=y # CONFIG_TINY_SHMEM is not set # # Loadable module support # CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_OBSOLETE_MODPARM=y # CONFIG_MODVERSIONS is not set CONFIG_KMOD=y CONFIG_STOP_MACHINE=y # # Processor type and features # CONFIG_MK8=y # CONFIG_MPSC is not set # CONFIG_GENERIC_CPU is not set CONFIG_X86_L1_CACHE_BYTES=64 CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_TSC=y CONFIG_X86_GOOD_APIC=y # CONFIG_MICROCODE is not set CONFIG_X86_MSR=y CONFIG_X86_CPUID=y CONFIG_X86_IO_APIC=y CONFIG_X86_LOCAL_APIC=y CONFIG_MTRR=y CONFIG_SMP=y CONFIG_PREEMPT=y CONFIG_SCHED_SMT=y CONFIG_K8_NUMA=y CONFIG_DISCONTIGMEM=y CONFIG_NUMA=y CONFIG_HAVE_DEC_LOCK=y CONFIG_NR_CPUS=4 CONFIG_GART_IOMMU=y CONFIG_SWIOTLB=y CONFIG_X86_MCE=y # # Power management options # CONFIG_PM=y CONFIG_PM_DEBUG=y CONFIG_SOFTWARE_SUSPEND=y CONFIG_PM_STD_PARTITION="" # # ACPI (Advanced Configuration and Power Interface) Support # CONFIG_ACPI=y CONFIG_ACPI_BOOT=y CONFIG_ACPI_INTERPRETER=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SLEEP_PROC_FS=y CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y CONFIG_ACPI_FAN=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_THERMAL=y # CONFIG_ACPI_ASUS is not set CONFIG_ACPI_TOSHIBA=y CONFIG_ACPI_DEBUG=y CONFIG_ACPI_BUS=y CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_PCI=y CONFIG_ACPI_SYSTEM=y # # CPU Frequency scaling # # CONFIG_CPU_FREQ is not set # # Bus options (PCI etc.) # CONFIG_PCI=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_UNORDERED_IO=y CONFIG_PCI_MSI=y # CONFIG_PCI_LEGACY_PROC is not set # CONFIG_PCI_NAMES is not set # # PCMCIA/CardBus support # # CONFIG_PCMCIA is not set # # PCI Hotplug Support # # CONFIG_HOTPLUG_PCI is not set # # Executable file formats / Emulations # CONFIG_BINFMT_ELF=y CONFIG_BINFMT_MISC=y CONFIG_IA32_EMULATION=y CONFIG_IA32_AOUT=y CONFIG_COMPAT=y CONFIG_SYSVIPC_COMPAT=y CONFIG_UID16=y # # Device Drivers # # # Generic Driver Options # CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_DEBUG_DRIVER is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Plug and Play support # # # Block devices # CONFIG_BLK_DEV_FD=y # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y CONFIG_LBD=y # # ATA/ATAPI/MFM/RLL support # CONFIG_IDE=y CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_IDE_SATA is not set # CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDEDISK_MULTI_MODE=y CONFIG_BLK_DEV_IDECD=y # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDESCSI is not set # CONFIG_IDE_TASK_IOCTL is not set # CONFIG_IDE_TASKFILE_IO is not set # # IDE chipset support/bugfixes # CONFIG_IDE_GENERIC=y # CONFIG_BLK_DEV_CMD640 is not set CONFIG_BLK_DEV_IDEPCI=y # CONFIG_IDEPCI_SHARE_IRQ is not set # CONFIG_BLK_DEV_OFFBOARD is not set # CONFIG_BLK_DEV_GENERIC is not set # CONFIG_BLK_DEV_OPTI621 is not set # CONFIG_BLK_DEV_RZ1000 is not set CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set # CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_ALI15X3 is not set CONFIG_BLK_DEV_AMD74XX=y # CONFIG_BLK_DEV_ATIIXP is not set # CONFIG_BLK_DEV_CMD64X is not set # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_CY82C693 is not set # CONFIG_BLK_DEV_CS5520 is not set # CONFIG_BLK_DEV_CS5530 is not set # CONFIG_BLK_DEV_HPT34X is not set # CONFIG_BLK_DEV_HPT366 is not set # CONFIG_BLK_DEV_SC1200 is not set CONFIG_BLK_DEV_PIIX=y # CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_PDC202XX_OLD is not set # CONFIG_BLK_DEV_PDC202XX_NEW is not set # CONFIG_BLK_DEV_SVWKS is not set # CONFIG_BLK_DEV_SIIMAGE is not set # CONFIG_BLK_DEV_SIS5513 is not set # CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_VIA82CXXX is not set # CONFIG_IDE_ARM is not set CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_IVB is not set CONFIG_IDEDMA_AUTO=y # CONFIG_BLK_DEV_HD is not set # # SCSI device support # CONFIG_SCSI=y # CONFIG_SCSI_PROC_FS is not set # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set # CONFIG_CHR_DEV_SG is not set # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set # # SCSI Transport Attributes # # CONFIG_SCSI_SPI_ATTRS is not set # CONFIG_SCSI_FC_ATTRS is not set # # SCSI low-level drivers # CONFIG_BLK_DEV_3W_XXXX_RAID=y # CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AACRAID is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC7XXX_OLD is not set CONFIG_SCSI_AIC79XX=m CONFIG_AIC79XX_CMDS_PER_DEVICE=32 CONFIG_AIC79XX_RESET_DELAY_MS=4000 # CONFIG_AIC79XX_ENABLE_RD_STRM is not set # CONFIG_AIC79XX_DEBUG_ENABLE is not set CONFIG_AIC79XX_DEBUG_MASK=0 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_LEGACY is not set CONFIG_SCSI_SATA=y # CONFIG_SCSI_SATA_SVW is not set # CONFIG_SCSI_ATA_PIIX is not set # CONFIG_SCSI_SATA_NV is not set # CONFIG_SCSI_SATA_PROMISE is not set # CONFIG_SCSI_SATA_SX4 is not set CONFIG_SCSI_SATA_SIL=y # CONFIG_SCSI_SATA_SIS is not set # CONFIG_SCSI_SATA_VIA is not set # CONFIG_SCSI_SATA_VITESSE is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_QLOGIC_ISP is not set # CONFIG_SCSI_QLOGIC_FC is not set # CONFIG_SCSI_QLOGIC_1280 is not set CONFIG_SCSI_QLA2XXX=y # CONFIG_SCSI_QLA21XX is not set # CONFIG_SCSI_QLA22XX is not set # CONFIG_SCSI_QLA2300 is not set # CONFIG_SCSI_QLA2322 is not set # CONFIG_SCSI_QLA6312 is not set # CONFIG_SCSI_QLA6322 is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DEBUG is not set # # Multi-device support (RAID and LVM) # CONFIG_MD=y # CONFIG_BLK_DEV_MD is not set CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=y # CONFIG_DM_SNAPSHOT is not set # CONFIG_DM_MIRROR is not set # CONFIG_DM_ZERO is not set # # Fusion MPT device support # # CONFIG_FUSION is not set # # IEEE 1394 (FireWire) support # # CONFIG_IEEE1394 is not set # # I2O device support # CONFIG_I2O=m # CONFIG_I2O_CONFIG is not set # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set # # Networking support # CONFIG_NET=y # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y # CONFIG_NETLINK_DEV is not set CONFIG_UNIX=y CONFIG_NET_KEY=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_SYN_COOKIES is not set CONFIG_INET_AH=y CONFIG_INET_ESP=y CONFIG_INET_IPCOMP=y CONFIG_INET_TUNNEL=y # # IP: Virtual Server Configuration # # CONFIG_IP_VS is not set CONFIG_IPV6=y # CONFIG_IPV6_PRIVACY is not set CONFIG_INET6_AH=y CONFIG_INET6_ESP=y CONFIG_INET6_IPCOMP=y CONFIG_INET6_TUNNEL=y # CONFIG_IPV6_TUNNEL is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set # # IP: Netfilter Configuration # # CONFIG_IP_NF_CONNTRACK is not set # CONFIG_IP_NF_QUEUE is not set # CONFIG_IP_NF_IPTABLES is not set # CONFIG_IP_NF_ARPTABLES is not set # CONFIG_IP_NF_COMPAT_IPCHAINS is not set # CONFIG_IP_NF_COMPAT_IPFWADM is not set # # IPv6: Netfilter Configuration # # CONFIG_IP6_NF_QUEUE is not set # CONFIG_IP6_NF_IPTABLES is not set CONFIG_XFRM=y CONFIG_XFRM_USER=y # # SCTP Configuration (EXPERIMENTAL) # # CONFIG_IP_SCTP is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set # CONFIG_VLAN_8021Q is not set # CONFIG_DECNET is not set # CONFIG_LLC2 is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # CONFIG_NET_SCHED=y CONFIG_NET_SCH_CLK_JIFFIES=y # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set # CONFIG_NET_SCH_CLK_CPU is not set # CONFIG_NET_SCH_CBQ is not set # CONFIG_NET_SCH_HTB is not set # CONFIG_NET_SCH_HFSC is not set # CONFIG_NET_SCH_PRIO is not set # CONFIG_NET_SCH_RED is not set # CONFIG_NET_SCH_SFQ is not set # CONFIG_NET_SCH_TEQL is not set # CONFIG_NET_SCH_TBF is not set # CONFIG_NET_SCH_GRED is not set # CONFIG_NET_SCH_DSMARK is not set # CONFIG_NET_SCH_NETEM is not set CONFIG_NET_SCH_INGRESS=y CONFIG_NET_QOS=y # CONFIG_NET_ESTIMATOR is not set CONFIG_NET_CLS=y # CONFIG_NET_CLS_TCINDEX is not set # CONFIG_NET_CLS_ROUTE4 is not set # CONFIG_NET_CLS_ROUTE is not set # CONFIG_NET_CLS_FW is not set # CONFIG_NET_CLS_U32 is not set # CONFIG_NET_CLS_RSVP is not set # CONFIG_NET_CLS_RSVP6 is not set CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=y CONFIG_NET_ACT_GACT=y CONFIG_GACT_PROB=y # # Network testing # # CONFIG_NET_PKTGEN is not set CONFIG_NETPOLL=y # CONFIG_NETPOLL_RX is not set # CONFIG_NETPOLL_TRAP is not set CONFIG_NET_POLL_CONTROLLER=y # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set # CONFIG_BT is not set CONFIG_NETDEVICES=y # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set CONFIG_TUN=y # # ARCnet devices # # CONFIG_ARCNET is not set # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y CONFIG_MII=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_NET_VENDOR_3COM is not set # # Tulip family network device support # # CONFIG_NET_TULIP is not set # CONFIG_HP100 is not set CONFIG_NET_PCI=y # CONFIG_PCNET32 is not set CONFIG_AMD8111_ETH=y # CONFIG_AMD8111E_NAPI is not set # CONFIG_ADAPTEC_STARFIRE is not set # CONFIG_B44 is not set CONFIG_FORCEDETH=y # CONFIG_DGRS is not set # CONFIG_EEPRO100 is not set # CONFIG_E100 is not set # CONFIG_FEALNX is not set # CONFIG_NATSEMI is not set # CONFIG_NE2K_PCI is not set CONFIG_8139CP=m CONFIG_8139TOO=m # CONFIG_8139TOO_PIO is not set # CONFIG_8139TOO_TUNE_TWISTER is not set # CONFIG_8139TOO_8129 is not set # CONFIG_8139_OLD_RX_RESET is not set # CONFIG_SIS900 is not set # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set # CONFIG_VIA_RHINE is not set # CONFIG_VIA_VELOCITY is not set # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_DL2K is not set CONFIG_E1000=y # CONFIG_E1000_NAPI is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_R8169 is not set # CONFIG_SK98LIN is not set CONFIG_TIGON3=y # # Ethernet (10000 Mbit) # # CONFIG_IXGB is not set # CONFIG_S2IO is not set # # Token Ring devices # # CONFIG_TR is not set # # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set # # Wan interfaces # # CONFIG_WAN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # CONFIG_NET_FC is not set # CONFIG_SHAPER is not set CONFIG_NETCONSOLE=y # # ISDN subsystem # # CONFIG_ISDN is not set # # Telephony Support # # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_TSDEV is not set CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # # Input I/O drivers # # CONFIG_GAMEPORT is not set CONFIG_SOUND_GAMEPORT=y CONFIG_SERIO=y CONFIG_SERIO_I8042=y # CONFIG_SERIO_SERPORT is not set # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_RAW is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y # CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_VSXXXAA is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y # CONFIG_SERIAL_NONSTANDARD is not set # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y # CONFIG_SERIAL_8250_ACPI is not set CONFIG_SERIAL_8250_NR_UARTS=4 # CONFIG_SERIAL_8250_EXTENDED is not set # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 # # IPMI # # CONFIG_IPMI_HANDLER is not set # # Watchdog Cards # CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM7101_WDT is not set # CONFIG_SC520_WDT is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_IB700_WDT is not set # CONFIG_WAFER_WDT is not set # CONFIG_I8XX_TCO is not set # CONFIG_SC1200_WDT is not set # CONFIG_SCx200_WDT is not set # CONFIG_60XX_WDT is not set # CONFIG_CPU5_WDT is not set # CONFIG_W83627HF_WDT is not set # CONFIG_W83877F_WDT is not set # CONFIG_MACHZ_WDT is not set # # PCI-based Watchdog Cards # # CONFIG_PCIPCWATCHDOG is not set # CONFIG_WDTPCI is not set # # USB-based Watchdog Cards # # CONFIG_USBPCWATCHDOG is not set CONFIG_HW_RANDOM=y # CONFIG_NVRAM is not set CONFIG_RTC=y # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # # Ftape, the floppy tape device driver # CONFIG_AGP=y CONFIG_AGP_AMD64=y # CONFIG_AGP_INTEL_MCH is not set # CONFIG_DRM is not set # CONFIG_MWAVE is not set CONFIG_RAW_DRIVER=y CONFIG_HPET=y # CONFIG_HPET_RTC_IRQ is not set CONFIG_HPET_MMAP=y CONFIG_MAX_RAW_DEVS=256 CONFIG_HANGCHECK_TIMER=y # # I2C support # CONFIG_I2C=y # CONFIG_I2C_CHARDEV is not set # # I2C Algorithms # # CONFIG_I2C_ALGOBIT is not set # CONFIG_I2C_ALGOPCF is not set # CONFIG_I2C_ALGOPCA is not set # # I2C Hardware Bus support # # CONFIG_I2C_ALI1535 is not set # CONFIG_I2C_ALI1563 is not set # CONFIG_I2C_ALI15X3 is not set # CONFIG_I2C_AMD756 is not set CONFIG_I2C_AMD8111=y # CONFIG_I2C_I801 is not set # CONFIG_I2C_I810 is not set # CONFIG_I2C_ISA is not set # CONFIG_I2C_NFORCE2 is not set # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PROSAVAGE is not set # CONFIG_I2C_SAVAGE4 is not set # CONFIG_SCx200_ACB is not set # CONFIG_I2C_SIS5595 is not set # CONFIG_I2C_SIS630 is not set # CONFIG_I2C_SIS96X is not set # CONFIG_I2C_VIA is not set # CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VOODOO3 is not set # CONFIG_I2C_PCA_ISA is not set # # Hardware Sensors Chip support # # CONFIG_I2C_SENSOR is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ASB100 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_FSCHER is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_LM75 is not set # CONFIG_SENSORS_LM77 is not set # CONFIG_SENSORS_LM78 is not set # CONFIG_SENSORS_LM80 is not set # CONFIG_SENSORS_LM83 is not set # CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_SMSC47M1 is not set # CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # # Other I2C Chip support # # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_SENSORS_RTC8564 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set # # Dallas's 1-wire bus # # CONFIG_W1 is not set # # Misc devices # # CONFIG_IBM_ASM is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set # # Digital Video Broadcasting Devices # # CONFIG_DVB is not set # # Graphics support # CONFIG_FB=y CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_CIRRUS is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_VESA is not set CONFIG_VIDEO_SELECT=y # CONFIG_FB_HGA is not set # CONFIG_FB_RIVA is not set # CONFIG_FB_MATROX is not set # CONFIG_FB_RADEON_OLD is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY is not set # CONFIG_FB_SIS is not set # CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_KYRO is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_VIRTUAL is not set # # Console display driver support # CONFIG_VGA_CONSOLE=y CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # # Logo configuration # # CONFIG_LOGO is not set # # Sound # CONFIG_SOUND=y # # Advanced Linux Sound Architecture # CONFIG_SND=y CONFIG_SND_TIMER=y CONFIG_SND_PCM=y CONFIG_SND_RAWMIDI=y # CONFIG_SND_SEQUENCER is not set # CONFIG_SND_MIXER_OSS is not set # CONFIG_SND_PCM_OSS is not set # CONFIG_SND_BIT32_EMUL is not set # CONFIG_SND_RTCTIMER is not set # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set # # Generic devices # CONFIG_SND_MPU401_UART=y # CONFIG_SND_DUMMY is not set # CONFIG_SND_MTPAV is not set # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_MPU401 is not set # # PCI devices # CONFIG_SND_AC97_CODEC=y # CONFIG_SND_ALI5451 is not set # CONFIG_SND_ATIIXP is not set # CONFIG_SND_ATIIXP_MODEM is not set # CONFIG_SND_AU8810 is not set # CONFIG_SND_AU8820 is not set # CONFIG_SND_AU8830 is not set # CONFIG_SND_AZT3328 is not set # CONFIG_SND_BT87X is not set # CONFIG_SND_CS46XX is not set # CONFIG_SND_CS4281 is not set # CONFIG_SND_EMU10K1 is not set # CONFIG_SND_KORG1212 is not set # CONFIG_SND_MIXART is not set # CONFIG_SND_NM256 is not set # CONFIG_SND_RME32 is not set # CONFIG_SND_RME96 is not set # CONFIG_SND_RME9652 is not set # CONFIG_SND_HDSP is not set # CONFIG_SND_TRIDENT is not set # CONFIG_SND_YMFPCI is not set # CONFIG_SND_ALS4000 is not set # CONFIG_SND_CMIPCI is not set # CONFIG_SND_ENS1370 is not set # CONFIG_SND_ENS1371 is not set # CONFIG_SND_ES1938 is not set # CONFIG_SND_ES1968 is not set # CONFIG_SND_MAESTRO3 is not set # CONFIG_SND_FM801 is not set # CONFIG_SND_ICE1712 is not set # CONFIG_SND_ICE1724 is not set CONFIG_SND_INTEL8X0=y # CONFIG_SND_INTEL8X0M is not set # CONFIG_SND_SONICVIBES is not set # CONFIG_SND_VIA82XX is not set # CONFIG_SND_VX222 is not set # # ALSA USB devices # # CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_USX2Y is not set # # Open Sound System # CONFIG_SOUND_PRIME=y # CONFIG_SOUND_BT878 is not set # CONFIG_SOUND_CMPCI is not set # CONFIG_SOUND_EMU10K1 is not set # CONFIG_SOUND_FUSION is not set # CONFIG_SOUND_CS4281 is not set # CONFIG_SOUND_ES1370 is not set # CONFIG_SOUND_ES1371 is not set # CONFIG_SOUND_ESSSOLO1 is not set # CONFIG_SOUND_MAESTRO is not set # CONFIG_SOUND_MAESTRO3 is not set CONFIG_SOUND_ICH=y # CONFIG_SOUND_SONICVIBES is not set # CONFIG_SOUND_TRIDENT is not set # CONFIG_SOUND_MSNDCLAS is not set # CONFIG_SOUND_MSNDPIN is not set # CONFIG_SOUND_VIA82CXXX is not set # CONFIG_SOUND_OSS is not set # CONFIG_SOUND_TVMIXER is not set # CONFIG_SOUND_ALI5455 is not set # CONFIG_SOUND_FORTE is not set # CONFIG_SOUND_RME96XX is not set # CONFIG_SOUND_AD1980 is not set # # USB support # CONFIG_USB=y # CONFIG_USB_DEBUG is not set # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y # CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_SUSPEND is not set # CONFIG_USB_OTG is not set # # USB Host Controller Drivers # CONFIG_USB_EHCI_HCD=y # CONFIG_USB_EHCI_SPLIT_ISO is not set # CONFIG_USB_EHCI_ROOT_HUB_TT is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_UHCI_HCD is not set # # USB Device Class drivers # # CONFIG_USB_AUDIO is not set # CONFIG_USB_BLUETOOTH_TTY is not set # CONFIG_USB_MIDI is not set # CONFIG_USB_ACM is not set CONFIG_USB_PRINTER=y CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_RW_DETECT is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_DPCM is not set # CONFIG_USB_STORAGE_HP8200e is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # # USB Human Interface Devices (HID) # CONFIG_USB_HID=y CONFIG_USB_HIDINPUT=y # CONFIG_HID_FF is not set # CONFIG_USB_HIDDEV is not set # CONFIG_USB_AIPTEK is not set # CONFIG_USB_WACOM is not set # CONFIG_USB_KBTAB is not set # CONFIG_USB_POWERMATE is not set # CONFIG_USB_MTOUCH is not set # CONFIG_USB_EGALAX is not set # CONFIG_USB_XPAD is not set # CONFIG_USB_ATI_REMOTE is not set # # USB Imaging devices # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USB_HPUSBSCSI is not set # # USB Multimedia devices # # CONFIG_USB_DABUSB is not set # # Video4Linux support is needed for USB Multimedia device support # # # USB Network adaptors # # CONFIG_USB_CATC is not set # CONFIG_USB_KAWETH is not set # CONFIG_USB_PEGASUS is not set # CONFIG_USB_RTL8150 is not set # CONFIG_USB_USBNET is not set # # USB port drivers # # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # # USB Miscellaneous drivers # # CONFIG_USB_EMI62 is not set # CONFIG_USB_EMI26 is not set # CONFIG_USB_TIGL is not set # CONFIG_USB_AUERSWALD is not set # CONFIG_USB_RIO500 is not set # CONFIG_USB_LEGOTOWER is not set # CONFIG_USB_LCD is not set # CONFIG_USB_LED is not set # CONFIG_USB_CYTHERM is not set # CONFIG_USB_PHIDGETSERVO is not set # CONFIG_USB_TEST is not set # # USB Gadget Support # CONFIG_USB_GADGET=m CONFIG_USB_GADGET_NET2280=y CONFIG_USB_NET2280=m # CONFIG_USB_GADGET_PXA2XX is not set # CONFIG_USB_GADGET_GOKU is not set # CONFIG_USB_GADGET_SA1100 is not set # CONFIG_USB_GADGET_LH7A40X is not set # CONFIG_USB_GADGET_DUMMY_HCD is not set # CONFIG_USB_GADGET_OMAP is not set CONFIG_USB_GADGET_DUALSPEED=y # CONFIG_USB_ZERO is not set # CONFIG_USB_ETH is not set # CONFIG_USB_GADGETFS is not set # CONFIG_USB_FILE_STORAGE is not set # CONFIG_USB_G_SERIAL is not set # # Firmware Drivers # # CONFIG_EDD is not set # # File systems # CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y # CONFIG_XFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_ROMFS_FS is not set CONFIG_QUOTA=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y CONFIG_AUTOFS_FS=y # CONFIG_AUTOFS4_FS is not set # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_ZISOFS_FS=y # CONFIG_UDF_FS is not set # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # CONFIG_NTFS_FS is not set # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_SYSFS=y # CONFIG_DEVFS_FS is not set CONFIG_DEVPTS_FS_XATTR=y CONFIG_DEVPTS_FS_SECURITY=y CONFIG_TMPFS=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_RAMFS=y # # Miscellaneous filesystems # # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # # Network File Systems # CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=y CONFIG_NFSD_V3=y CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y # # Native Language Support # CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ASCII is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set # # Profiling support # CONFIG_PROFILING=y CONFIG_OPROFILE=y # # Kernel hacking # CONFIG_DEBUG_KERNEL=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y # CONFIG_DEBUG_SPINLOCK_SLEEP is not set CONFIG_DEBUG_INFO=y # CONFIG_INIT_DEBUG is not set # CONFIG_SCHEDSTATS is not set # CONFIG_IOMMU_DEBUG is not set # # Security options # CONFIG_SECURITY=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_CAPABILITIES=y CONFIG_SECURITY_ROOTPLUG=m CONFIG_SECURITY_SECLVL=m CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 CONFIG_SECURITY_SELINUX_DISABLE=y CONFIG_SECURITY_SELINUX_DEVELOP=y # CONFIG_SECURITY_SELINUX_MLS is not set CONFIG_SECURITY_BSDJAIL=m # # Cryptographic options # CONFIG_CRYPTO=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=m # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_WP512 is not set CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set # CONFIG_CRYPTO_SERPENT is not set # CONFIG_CRYPTO_AES is not set # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set # CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_ARC4 is not set # CONFIG_CRYPTO_KHAZAD is not set CONFIG_CRYPTO_DEFLATE=y # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_TEST is not set # # Library routines # # CONFIG_CRC_CCITT is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2004-10-08 10:12 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-10-07 21:20 kswapd in tight loop 2.6.9-rc3-bk-recent Chris Wright 2004-10-07 21:39 ` Dave Jones 2004-10-07 21:49 ` Chris Wright 2004-10-07 23:40 ` Andrew Morton 2004-10-08 0:34 ` Nick Piggin 2004-10-08 0:37 ` Andrew Morton 2004-10-08 0:51 ` Chris Wright 2004-10-08 1:40 ` Andrew Morton 2004-10-08 0:42 ` Andrew Morton 2004-10-08 1:41 ` Chris Wright 2004-10-08 1:51 ` Chris Wright 2004-10-08 1:53 ` Andrew Morton 2004-10-08 2:46 ` Nick Piggin 2004-10-08 3:01 ` Andrew Morton 2004-10-08 3:13 ` Nick Piggin 2004-10-08 3:30 ` Andrew Morton 2004-10-08 3:54 ` Nick Piggin 2004-10-08 4:48 ` Nick Piggin 2004-10-08 4:57 ` Andrew Morton 2004-10-08 5:21 ` Chris Wright 2004-10-08 5:27 ` Chris Wright 2004-10-08 10:10 ` Nick Piggin 2004-10-08 3:15 ` Nick Piggin 2004-10-08 3:05 ` Chris Wright
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox