[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200807131517.51795.jozwicki@aster.pl>
Date: Sun, 13 Jul 2008 15:17:51 +0200
From: "Jakub W. Jozwicki" <jozwicki@...er.pl>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu, tglx@...esys.com
Subject: Re: [PATCH 2.6.25.10 1/2] libata: fix locking for kmap_atomic
Sunday, 13 of July 2008 10:26:30 Andrew Morton napisaĆ(a):
> On Sun, 13 Jul 2008 01:27:36 +0200 "Jakub W. Jozwicki" <jozwicki@...er.pl>
wrote:
> > Change locking surrounding kmap_atomic from local_irqsave to
> > local_irqsave_nort. This fixes issues with PREEMPT_RT.
>
> I assume this is a -rt kernel patch.
>
> > --- linux-2.6.25.10/drivers/ata/libata-core.c 2008-07-03
> > 05:46:47.000000000 +0200
> > +++ linux-2.6.25.10-rt7/drivers/ata/libata-core.c 2008-07-12
> > 23:59:33.132140258 +0200
> > @@ -5157,14 +5157,14 @@
> > unsigned long flags;
> >
> > /* FIXME: use a bounce buffer */
> > - local_irq_save(flags);
> > + local_irq_save_nort(flags);
>
> eww. If we're going to have to do stuff like this in mainline then
> there might be a revolt.
Sorry, this was for -rt only.
[ 17.012011] BUG: sleeping function called from invalid context IRQ-14(5732)
at arch/x86/mm/highmem_32.c:8
[ 17.012011] in_atomic():0 [00000000], irqs_disabled():1
[ 17.012011] Pid: 5732, comm: IRQ-14 Not tainted 2.6.25.10-rtXXX #11
[ 17.012011] [<c0120fc4>] __might_sleep+0xf1/0xf8
[ 17.012011] [<c011c035>] kmap+0x47/0x5a
[ 17.012011] [<c033e728>] ata_hsm_move+0x3d7/0x657
[ 17.012011] [<c0342fd6>] ata_interrupt+0x14e/0x1cb
[ 17.012011] [<c015c72c>] handle_IRQ_event+0x4e/0xd1
[ 17.012011] [<c015d266>] do_irqd+0x126/0x224
[ 17.012011] [<c015d140>] ? do_irqd+0x0/0x224
[ 17.012011] [<c013ae9d>] kthread+0x3b/0x62
[ 17.012011] [<c013ae62>] ? kthread+0x0/0x62
[ 17.012011] [<c0108287>] kernel_thread_helper+0x7/0x10
[ 17.012011] =======================
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists