> On Fri, May 16, 2008 at 07:55:39PM -0600, Robert Hancock wrote:
>> Arjan van de Ven wrote:
>>> Rank 10: __alloc_pages
>>> Reported 16 times (31 total reports)
>>> Sleeping allocation in interrupt context, some in netlink, some in the
>>> nv sata driver
>>> This oops was last seen in version 2.6.25.3, and first seen in
>>> 2.6.18-rc1.
>>> More info:
>>>
http://www.kerneloops.org/searchweek.php?search=__alloc_pages
>> In the case of the sata_nv error, it appears this is happening now because
>> blk_queue_bounce_limit is initializing emergency ISA pools which can't be
>> done under spinlock. This is happening because the code in
>> blk_queue_bounce_limit now thinks that a 32-bit DMA mask requires
>> allocating with GFP_DMA. This is only needed for a DMA mask less than
>> 32-bit, which is what the original code did. It looks like this was broken
>> by this commit:
>
> Looks like or you're certain? I ask because I had your exact same
> problem with a regression introduced in 2.6.25-rc, and my patch
> attempted to fix it. It looks like it wasn't enough to fix all of it,
> but at least it looked like to improve things a bit to reduce the
> regression impact without introducing any other problem compared to
> the previous 2.6.25-rc code.