Messages in this thread | | | Subject | bugcheck! __get_free_pages calls __init function w/ CONFIG_NUMA | From | Alex Williamson <> | Date | Tue, 06 Apr 2004 11:19:36 -0600 |
| |
I'm not sure why we haven't seen this before, but I started seeing a stack trace on reboot on my rx2600 ia64 box running latest 2.6. Here it is:
[<a0000001006ba020>] get_boot_pages+0x0/0x2c0 sp=e00000010267fc80 bsp=e000000102679130 [<a0000001004a8fb0>] sba_alloc_coherent+0x70/0x1a0 sp=e00000010267fc80 bsp=e0000001026790f8 [<a00000010047e3b0>] mptscsih_synchronize_cache+0x1d0/0x640 sp=e00000010267fc80 bsp=e000000102679010 [<a0000001004665e0>] mptbase_shutdown+0xc0/0xe0 sp=e00000010267fd30 bsp=e000000102678fd8 [<a0000001003a9140>] device_shutdown+0x260/0x280 sp=e00000010267fd30 bsp=e000000102678fa8 [<a0000001000b10a0>] sys_reboot+0x2e0/0x720 sp=e00000010267fd30 bsp=e000000102678f50
sba_alloc_coherent is simply calling __get_free_pages() to setup a DMA mapping for the mpt driver to sync a disk. However, we've already cleared system_running in sys_reboot, so w/ CONFIG_NUMA, we blowup trying to call get_boot_pages, which was already freed. I'm not sure if the proper fix is to make get_boot_pages not an __init function or if the CONFIG_NUMA code really intends to be keying off something else. Thoughts on the right fix? Thanks,
Alex
-- Alex Williamson HP Linux & Open Source Lab
- 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/
| |