2.4.3-pre6: agpart.o causes arch/i386/mm/ioremap.c hang

From: Adam J. Richter (adam@yggdrasil.com)
Date: Fri Mar 23 2001 - 04:10:43 EST


        Under linux-2.4.3-pre6 compiled for SMP, loading agpgart.o
hangs the system in remap_area_pages (arch/i386/mm/ioremap.c) at
the call to spin_lock(&init_mm.page_table_lock), which is not in 2.4.2.

        When I load agpgart.o, I get the following messages:

Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 690M
agpgart: Detected Via Apollo Pro chipset

        After that, the console keys (RightAlt ScrollLock, Alt-F2, etc.)
but there is not other response to my keystrokes and the system is no
longer pingable. The call graphic is basically:

        agp_backend_initialize
        agp_generic_create_gatt_table
        io_remap_nocache
        __ioremap
        remap_area_pages

        I've made a cursory search through the kernel sources for what
else might be holding this lock, but I have not yet found anything.

        I'm rebuilding the kernel now with a modified spin_lock()
routine that should tell me who acquired the lock previously; however,
I really do not understand this part of the kernel enough to know
what the changes were intended to do in the first place. So, knowing
where else the lock was acquired will not necessarily be enough for
me to be able to generate a patch. Anyhow, I imagine that this
lock is being held by some code that can block. We'll see.

Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
-
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/



This archive was generated by hypermail 2b29 : Fri Mar 23 2001 - 21:00:20 EST