Re: WARNING: at mm/page-writeback.c:1990 __set_page_dirty_nobuffers+0x13a/0x170()

From: Linus Torvalds
Date: Fri Jun 01 2012 - 21:46:10 EST


On Fri, Jun 1, 2012 at 3:17 PM, Hugh Dickins <hughd@xxxxxxxxxx> wrote:
>
> +       spin_lock_irqsave(&zone->lock, flags);
>        for (page = start_page, pfn = start_pfn; page < end_page; pfn++,
>                                                                  page++) {

So holding the spinlock (and disabling irqs!) over the whole loop
sounds horrible.

At the same time, the iterators don't seem to require the spinlock, so
it should be possible to just move the lock into the loop, no?

Linus
--
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/