* 2.5.53-mm3 @ 2003-01-02 2:14 Andrew Morton 2003-01-02 4:13 ` 2.5.53-mm3 Andrew Morton 0 siblings, 1 reply; 4+ messages in thread From: Andrew Morton @ 2003-01-02 2:14 UTC (permalink / raw) To: lkml, linux-mm http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.53/2.5.53-mm3/ . 2.5.53-mm2 was a bit sick in the timekeeping and slab department. That should be fixed here. . The idea of using the slab head arrays for object preallocation has been abandoned. It involved too many slab changes, and slab just explodes in your face when touched. So I've used a custom reservation pool in the radix-tree code instead. . I've spent two days chasing the memory leak which Con has reported and have thus far not been able to reproduce it (managed to collaterally discover a swapoff lockup and an htree leak though). It's probably an ext3/VM interaction. Please keep an eye out for this. Changes since 2.5.53-mm2: -aic-bounce.patch -ga2.patch -reduce-random-context-switch-rate.patch -file-nr-doc-fix.patch -remove-memshared.patch -bin2bcd.patch -semtimedop-update.patch -drain_local_pages.patch -kmalloc_percpu.patch -dont-aligns-vmas.patch -remove-swappable.patch -remove-hugetlb-syscalls.patch Merged -slab-preallocation.patch -slab-export-tuning.patch -rat-preallocation.patch Dropped +rat-preload.patch Do the preallocation as a custom radix-tree thing, not generically. +i_shared_sem.patch Turn i_shared_lock into a semaphore. Will be needed for scheduling latency reasons. Is needed to avoid a shared pagetable deadlock. +cond_resched_lock-rework.patch Tidy up a couple of low-latency things +mempool_resize-fix.patch Fix a problem in mempool_resize() +slab-redzone-cleanup.patch Clean up the slab redzoning debug code, add useful messages. +shrink-kmap-space.patch Save some wasted kernel virtual address space +setuid-exec-no-lock_kernel.patch Locking cleanup +fix-ethernet-hash.patch Fix for the ethernet crc function +route-cache-kmalloc-per-cpu.patch Use kmalloc_per_cpu for the route cache stats -config_page_offset.patch -config_hz.patch Dropped. Not to Linus' taste. +page-walk-api-2.5.53-mm2-update.patch New stuff from Ingo -page-walk-api-update.patch -gup-check-valid.patch Folded into other patches +page-walk-scsi-2.5.53-mm2.patch More from Ingo All 64 patches: linus.patch cset-1.911.4.10-to-1.932.txt.gz kgdb.patch log_buf_size.patch move LOG_BUF_SIZE to header/config rcf.patch run-child-first after fork devfs-fix.patch dio-return-partial-result.patch aio-direct-io-infrastructure.patch AIO support for raw/O_DIRECT deferred-bio-dirtying.patch bio dirtying infrastructure aio-direct-io.patch AIO support for raw/O_DIRECT aio-dio-debug.patch dio-reduce-context-switch-rate.patch Reduced wakeup rate in direct-io code cputimes_stat.patch Retore per-cpu time accounting, with a config option misc.patch misc fixes inlines-net.patch rbtree-iosched.patch rbtree-based IO scheduler deadsched-fix.patch deadline scheduler fix quota-smp-locks.patch Subject: Quota SMP locks copy_page_range-cleanup.patch copy_page_range: minor cleanup pte_chain_alloc-fix.patch page_add_rmap-rework.patch rat-preload.patch use-rat-preallocation.patch i_shared_sem.patch turn i_shared_lock into a semaphore cond_resched_lock-rework.patch simplify and generalise cond_resched_lock shpte-ng.patch pagetable sharing for ia32 teeny-mem-limits.patch smaller-head-arrays.patch mempool_resize-fix.patch mempool_resize fix slab-redzone-cleanup.patch slab: redzoning cleanup shrink-kmap-space.patch shrink the amount of vmalloc space reserved for kmap setuid-exec-no-lock_kernel.patch remove lock_kernel() from exec of setuid apps fix-ethernet-hash.patch fix ethernet hash function ptrace-flush.patch Subject: [PATCH] ptrace on 2.5.44 buffer-debug.patch buffer.c debugging warn-null-wakeup.patch pentium-II.patch Pentium-II support bits rcu-stats.patch RCU statistics reporting auto-unplug.patch self-unplugging request queues less-unplugging.patch Remove most of the blk_run_queues() calls ext3-fsync-speedup.patch Clean up ext3_sync_file() lockless-current_kernel_time.patch Lockless current_kernel_timer() scheduler-tunables.patch scheduler tunables dio-always-kmalloc.patch direct-io: dynamically allocate struct dio set_page_dirty_lock.patch fix set_page_dirty vs truncate&free races htlb-2.patch hugetlb: fix MAP_FIXED handling route-cache-kmalloc-per-cpu.patch use kmalloc-per-cpu for the routecache stats wli-01_numaq_io.patch (undescribed patch) wli-02_do_sak.patch (undescribed patch) wli-03_proc_super.patch (undescribed patch) wli-06_uml_get_task.patch (undescribed patch) wli-07_numaq_mem_map.patch (undescribed patch) wli-08_numaq_pgdat.patch (undescribed patch) wli-09_has_stopped_jobs.patch (undescribed patch) wli-10_inode_wait.patch (undescribed patch) wli-11_pgd_ctor.patch (undescribed patch) wli-12_pidhash_size.patch Dynamically size the pidhash hash table. wli-13_rmap_nrpte.patch (undescribed patch) dcache_rcu-2.patch dcache_rcu-2-2.5.51.patch dcache_rcu-3.patch dcache_rcu-3-2.5.51.patch page-walk-api.patch page-walk-api-2.5.53-mm2-update.patch pagewalk API update page-walk-scsi.patch page-walk-scsi-2.5.53-mm2.patch pagewalk scsi update ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 2.5.53-mm3 2003-01-02 2:14 2.5.53-mm3 Andrew Morton @ 2003-01-02 4:13 ` Andrew Morton 0 siblings, 0 replies; 4+ messages in thread From: Andrew Morton @ 2003-01-02 4:13 UTC (permalink / raw) To: lkml, linux-mm Andrew Morton wrote: > > http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.53/2.5.53-mm3/ > 2.5.54-mm1 is at http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.54/2.5.54-mm1/ it is identical to 2.5.53-mm3. ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: 2.5.53-mm3
@ 2003-01-02 6:50 Aniruddha M Marathe
2003-01-02 7:01 ` 2.5.53-mm3 Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Aniruddha M Marathe @ 2003-01-02 6:50 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel
Failed while booting up.
It executed mem_init()
Then during execution of kmem_cache_sizes_init(),
It created generic caches.
After that following error came,
Invalid operand: 0000
...
Unable to handle kernel paging request at virtual address b08e3fef
eip 00000000
>-----Original Message-----
>From: Andrew Morton [mailto:akpm@digeo.com]
>Sent: Thursday, January 02, 2003 7:44 AM
>To: lkml; linux-mm@kvack.org
>Subject: 2.5.53-mm3
>
>
>
>http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.53/2.5.53-mm3/
>
>. 2.5.53-mm2 was a bit sick in the timekeeping and slab
>department. That
> should be fixed here.
>
>. The idea of using the slab head arrays for object
>preallocation has been
> abandoned. It involved too many slab changes, and slab just
>explodes in
> your face when touched. So I've used a custom reservation
>pool in the
> radix-tree code instead.
>
>. I've spent two days chasing the memory leak which Con has
>reported and
> have thus far not been able to reproduce it (managed to collaterally
> discover a swapoff lockup and an htree leak though). It's
>probably an
> ext3/VM interaction. Please keep an eye out for this.
>
>
>
>Changes since 2.5.53-mm2:
>
>
>-aic-bounce.patch
>-ga2.patch
>-reduce-random-context-switch-rate.patch
>-file-nr-doc-fix.patch
>-remove-memshared.patch
>-bin2bcd.patch
>-semtimedop-update.patch
>-drain_local_pages.patch
>-kmalloc_percpu.patch
>-dont-aligns-vmas.patch
>-remove-swappable.patch
>-remove-hugetlb-syscalls.patch
>
> Merged
>
>-slab-preallocation.patch
>-slab-export-tuning.patch
>-rat-preallocation.patch
>
> Dropped
>
>+rat-preload.patch
>
> Do the preallocation as a custom radix-tree thing, not generically.
>
>+i_shared_sem.patch
>
> Turn i_shared_lock into a semaphore. Will be needed for
>scheduling latency reasons. Is needed to avoid a shared
>pagetable deadlock.
>
>+cond_resched_lock-rework.patch
>
> Tidy up a couple of low-latency things
>
>+mempool_resize-fix.patch
>
> Fix a problem in mempool_resize()
>
>+slab-redzone-cleanup.patch
>
> Clean up the slab redzoning debug code, add useful messages.
>
>+shrink-kmap-space.patch
>
> Save some wasted kernel virtual address space
>
>+setuid-exec-no-lock_kernel.patch
>
> Locking cleanup
>
>+fix-ethernet-hash.patch
>
> Fix for the ethernet crc function
>
>+route-cache-kmalloc-per-cpu.patch
>
> Use kmalloc_per_cpu for the route cache stats
>
>-config_page_offset.patch
>-config_hz.patch
>
> Dropped. Not to Linus' taste.
>
>+page-walk-api-2.5.53-mm2-update.patch
>
> New stuff from Ingo
>
>-page-walk-api-update.patch
>-gup-check-valid.patch
>
> Folded into other patches
>
>+page-walk-scsi-2.5.53-mm2.patch
>
> More from Ingo
>
>
>
>
>All 64 patches:
>
>
>linus.patch
> cset-1.911.4.10-to-1.932.txt.gz
>
>kgdb.patch
>
>log_buf_size.patch
> move LOG_BUF_SIZE to header/config
>
>rcf.patch
> run-child-first after fork
>
>devfs-fix.patch
>
>dio-return-partial-result.patch
>
>aio-direct-io-infrastructure.patch
> AIO support for raw/O_DIRECT
>
>deferred-bio-dirtying.patch
> bio dirtying infrastructure
>
>aio-direct-io.patch
> AIO support for raw/O_DIRECT
>
>aio-dio-debug.patch
>
>dio-reduce-context-switch-rate.patch
> Reduced wakeup rate in direct-io code
>
>cputimes_stat.patch
> Retore per-cpu time accounting, with a config option
>
>misc.patch
> misc fixes
>
>inlines-net.patch
>
>rbtree-iosched.patch
> rbtree-based IO scheduler
>
>deadsched-fix.patch
> deadline scheduler fix
>
>quota-smp-locks.patch
> Subject: Quota SMP locks
>
>copy_page_range-cleanup.patch
> copy_page_range: minor cleanup
>
>pte_chain_alloc-fix.patch
>
>page_add_rmap-rework.patch
>
>rat-preload.patch
>
>use-rat-preallocation.patch
>
>i_shared_sem.patch
> turn i_shared_lock into a semaphore
>
>cond_resched_lock-rework.patch
> simplify and generalise cond_resched_lock
>
>shpte-ng.patch
> pagetable sharing for ia32
>
>teeny-mem-limits.patch
>
>smaller-head-arrays.patch
>
>mempool_resize-fix.patch
> mempool_resize fix
>
>slab-redzone-cleanup.patch
> slab: redzoning cleanup
>
>shrink-kmap-space.patch
> shrink the amount of vmalloc space reserved for kmap
>
>setuid-exec-no-lock_kernel.patch
> remove lock_kernel() from exec of setuid apps
>
>fix-ethernet-hash.patch
> fix ethernet hash function
>
>ptrace-flush.patch
> Subject: [PATCH] ptrace on 2.5.44
>
>buffer-debug.patch
> buffer.c debugging
>
>warn-null-wakeup.patch
>
>pentium-II.patch
> Pentium-II support bits
>
>rcu-stats.patch
> RCU statistics reporting
>
>auto-unplug.patch
> self-unplugging request queues
>
>less-unplugging.patch
> Remove most of the blk_run_queues() calls
>
>ext3-fsync-speedup.patch
> Clean up ext3_sync_file()
>
>lockless-current_kernel_time.patch
> Lockless current_kernel_timer()
>
>scheduler-tunables.patch
> scheduler tunables
>
>dio-always-kmalloc.patch
> direct-io: dynamically allocate struct dio
>
>set_page_dirty_lock.patch
> fix set_page_dirty vs truncate&free races
>
>htlb-2.patch
> hugetlb: fix MAP_FIXED handling
>
>route-cache-kmalloc-per-cpu.patch
> use kmalloc-per-cpu for the routecache stats
>
>wli-01_numaq_io.patch
> (undescribed patch)
>
>wli-02_do_sak.patch
> (undescribed patch)
>
>wli-03_proc_super.patch
> (undescribed patch)
>
>wli-06_uml_get_task.patch
> (undescribed patch)
>
>wli-07_numaq_mem_map.patch
> (undescribed patch)
>
>wli-08_numaq_pgdat.patch
> (undescribed patch)
>
>wli-09_has_stopped_jobs.patch
> (undescribed patch)
>
>wli-10_inode_wait.patch
> (undescribed patch)
>
>wli-11_pgd_ctor.patch
> (undescribed patch)
>
>wli-12_pidhash_size.patch
> Dynamically size the pidhash hash table.
>
>wli-13_rmap_nrpte.patch
> (undescribed patch)
>
>dcache_rcu-2.patch
> dcache_rcu-2-2.5.51.patch
>
>dcache_rcu-3.patch
> dcache_rcu-3-2.5.51.patch
>
>page-walk-api.patch
>
>page-walk-api-2.5.53-mm2-update.patch
> pagewalk API update
>
>page-walk-scsi.patch
>
>page-walk-scsi-2.5.53-mm2.patch
> pagewalk scsi update
>-
>To unsubscribe from this list: send the line "unsubscribe
>linux-kernel" in the body of a message to
>majordomo@vger.kernel.org More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: 2.5.53-mm3 2003-01-02 6:50 2.5.53-mm3 Aniruddha M Marathe @ 2003-01-02 7:01 ` Andrew Morton 0 siblings, 0 replies; 4+ messages in thread From: Andrew Morton @ 2003-01-02 7:01 UTC (permalink / raw) To: Aniruddha M Marathe; +Cc: linux-kernel Aniruddha M Marathe wrote: > > Failed while booting up. > It executed mem_init() > Then during execution of kmem_cache_sizes_init(), > It created generic caches. > After that following error came, > Invalid operand: 0000 > ... > Unable to handle kernel paging request at virtual address b08e3fef > eip 00000000 > Please enable "Load all symbols for debugging/kksymoops" in the "Kernel hacking" menu and send a full report. kksymoops is a bit broken in 2.5.54. You may need this patch: --- 25/fs/proc/base.c~no-stem-compression Wed Jan 1 22:30:17 2003 +++ 25-akpm/fs/proc/base.c Wed Jan 1 22:30:17 2003 @@ -259,11 +259,10 @@ static int proc_pid_wchan(struct task_st char *modname; const char *sym_name; unsigned long wchan, size, offset; - char namebuf[128]; wchan = get_wchan(task); - sym_name = kallsyms_lookup(wchan, &size, &offset, &modname, namebuf); + sym_name = kallsyms_lookup(wchan, &size, &offset, &modname); if (sym_name) return sprintf(buffer, "%s", sym_name); return sprintf(buffer, "%lu", wchan); --- 25/include/linux/kallsyms.h~no-stem-compression Wed Jan 1 22:30:17 2003 +++ 25-akpm/include/linux/kallsyms.h Wed Jan 1 22:30:17 2003 @@ -12,7 +12,7 @@ const char *kallsyms_lookup(unsigned long addr, unsigned long *symbolsize, unsigned long *offset, - char **modname, char *namebuf); + char **modname); /* Replace "%s" in format with address, if found */ extern void __print_symbol(const char *fmt, unsigned long address); @@ -22,7 +22,7 @@ extern void __print_symbol(const char *f static inline const char *kallsyms_lookup(unsigned long addr, unsigned long *symbolsize, unsigned long *offset, - char **modname, char *namebuf) + char **modname) { return NULL; } --- 25/kernel/kallsyms.c~no-stem-compression Wed Jan 1 22:30:17 2003 +++ 25-akpm/kernel/kallsyms.c Wed Jan 1 22:30:17 2003 @@ -4,7 +4,6 @@ * Rewritten and vastly simplified by Rusty Russell for in-kernel * module loader: * Copyright 2002 Rusty Russell <rusty@rustcorp.com.au> IBM Corporation - * Stem compression by Andi Kleen. */ #include <linux/kallsyms.h> #include <linux/module.h> @@ -23,7 +22,7 @@ extern char _stext[], _etext[]; const char *kallsyms_lookup(unsigned long addr, unsigned long *symbolsize, unsigned long *offset, - char **modname, char *namebuf) + char **modname) { unsigned long i, best = 0; @@ -31,8 +30,6 @@ const char *kallsyms_lookup(unsigned lon if ((void *)kallsyms_addresses == &kallsyms_dummy) BUG(); - namebuf[127] = 0; - if (addr >= (unsigned long)_stext && addr <= (unsigned long)_etext) { unsigned long symbol_end; char *name = kallsyms_names; @@ -45,11 +42,8 @@ const char *kallsyms_lookup(unsigned lon } /* Grab name */ - for (i = 0; i < best; i++) { - ++name; - strncpy(namebuf + name[-1], name, 127); + for (i = 0; i < best; i++) name += strlen(name)+1; - } /* Base symbol size on next symbol. */ if (best + 1 < kallsyms_num_syms) @@ -60,7 +54,7 @@ const char *kallsyms_lookup(unsigned lon *symbolsize = symbol_end - kallsyms_addresses[best]; *modname = NULL; *offset = addr - kallsyms_addresses[best]; - return namebuf; + return name; } return module_address_lookup(addr, symbolsize, offset, modname); @@ -72,9 +66,8 @@ void __print_symbol(const char *fmt, uns char *modname; const char *name; unsigned long offset, size; - char namebuf[128]; - name = kallsyms_lookup(address, &size, &offset, &modname, namebuf); + name = kallsyms_lookup(address, &size, &offset, &modname); if (!name) { char addrstr[sizeof("0x%lx") + (BITS_PER_LONG*3/10)]; --- 25/scripts/kallsyms.c~no-stem-compression Wed Jan 1 22:30:17 2003 +++ 25-akpm/scripts/kallsyms.c Wed Jan 1 22:30:17 2003 @@ -93,7 +93,6 @@ write_src(void) { unsigned long long last_addr; int i, valid = 0; - char *prev; printf("#include <asm/types.h>\n"); printf("#if BITS_PER_LONG == 64\n"); @@ -131,22 +130,15 @@ write_src(void) printf(".globl kallsyms_names\n"); printf("\tALGN\n"); printf("kallsyms_names:\n"); - prev = ""; for (i = 0, last_addr = 0; i < cnt; i++) { - int k; - if (!symbol_valid(&table[i])) continue; if (table[i].addr == last_addr) continue; - for (k = 0; table[i].sym[k] && table[i].sym[k] == prev[k]; ++k) - ; - - printf("\t.asciz\t\"\\x%02x%s\"\n", k, table[i].sym + k); + printf("\t.string\t\"%s\"\n", table[i].sym); last_addr = table[i].addr; - prev = table[i].sym; } printf("\n"); } _ ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-01-02 6:52 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-01-02 2:14 2.5.53-mm3 Andrew Morton 2003-01-02 4:13 ` 2.5.53-mm3 Andrew Morton -- strict thread matches above, loose matches on Subject: below -- 2003-01-02 6:50 2.5.53-mm3 Aniruddha M Marathe 2003-01-02 7:01 ` 2.5.53-mm3 Andrew Morton
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox