Hello, I have got the problem running the newest uClinux (20080808, 2.6.25 kernel).
Kernel BUG happens at the kmem_cache_create function (mm/slab.c) with default kernel config. The first sanity checks of this function fails, because in_interrupt () returns true. Actually preempt_count () at that place is equal to 0x1000, which means that hardirq count is 1. It is not the first call of kmem_cahce_create (), and usually happens in few calls after call of this function by the kmem_cache_init (). Changing of the Kbuild config (Processor Type and Features ---> Preemption Model) from "No Forced Preemption" to the "Preemptible Kernel" lets the BUG happen a bit later in the call of the kmem_cache_create (). Problem seems to happen after the kmalloc () call in the setup_cpu_cache () function which is called from kmem_cache_create(). In old version of uClinux (2.6.19) no problem happens. On ColdFire 5329 (which is also m68knommu arch) everything works ok on the 2.6.25. The same problem was previously posted at this mailing list: http://mailman.uclinux.org/pipermail/uclinux-dev/2008-October/047240.html, but I have not found any replies with solutions. Can somebody help with some ideas what was seriously changed from 19th kernel to 25th kernel? Yours sincerely Oleksii Kuchuk _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
