Re: Top kernel oopses/warnings for the week of May 16th 2008

From: Robert Hancock
Date: Fri May 16 2008 - 21:53:59 EST


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:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00d61e3e8c12d5f395b167856d2b3c430816afb0

author Andrea Arcangeli <andrea@xxxxxxxxxxxx>
Wed, 2 Apr 2008 07:06:44 +0000 (09:06 +0200)
committer Jens Axboe <jens.axboe@xxxxxxxxxx>
Wed, 2 Apr 2008 07:06:44 +0000 (09:06 +0200)

Fix bounce setting for 64-bit

Not sure what this was intended to fix, but I don't think it's right..
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/