[Bugme-new] [Bug 8912] New: slub memory allocation with GFP_DMA and without __GFP_WAIT can fail even if there is enough memory

bugme-daemon at bugzilla.kernel.org bugme-daemon at bugzilla.kernel.org
Mon Aug 20 08:13:12 PDT 2007


http://bugzilla.kernel.org/show_bug.cgi?id=8912

           Summary: slub memory allocation with GFP_DMA and without
                    __GFP_WAIT can fail even if there is enough memory
           Product: Memory Management
           Version: 2.5
     KernelVersion: 2.6.23-rc3
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Slab Allocator
        AssignedTo: akpm at osdl.org
        ReportedBy: mattilinnanvuori at yahoo.com
                CC: clameter at sgi.com


Most recent kernel where this bug did not occur: unknown
Distribution: mainline
Hardware Environment: irrelevant
Software Environment: 2.6.23-rc3
Problem Description: slub memory allocation with GFP_DMA and without __GFP_WAIT
can fail even if there is enough memory because of trying to acquire a
semaphore only once.

Steps to reproduce: try to allocate memory with GFP_DMA and without __GFP_WAIT
when some other thread is holding the slub semaphore.

Bug 8790's Attachment 12368's patch is buggy because function
dma_cache_add_func does not disable interrupts before acquiring the spin lock
and function dma_kmalloc_cache can spin forever trying to acquire the spin lock
if called from interrupt context.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


More information about the Bugme-new mailing list