- blk_start_queue-must-be-called-with-irq-disabled-add-warning.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     blk_start_queue() must be called with irq disabled - add warning

has been  the -mm tree.  Its filename is

     blk_start_queue-must-be-called-with-irq-disabled-add-warning.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
Subject: blk_start_queue() must be called with irq disabled - add warning
From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>


The queue lock can be taken from interrupts so it must always be taken with
irq disabling primitives.  Some primitives already verify this. 
blk_start_queue() is called under this lock, so interrupts must be
disabled.

Also document this requirement clearly in blk_init_queue(), where the queue
spinlock is set.

Cc: Jens Axboe <axboe@xxxxxxx>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 block/ll_rw_blk.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff -puN block/ll_rw_blk.c~blk_start_queue-must-be-called-with-irq-disabled-add-warning block/ll_rw_blk.c
--- devel/block/ll_rw_blk.c~blk_start_queue-must-be-called-with-irq-disabled-add-warning	2006-06-01 20:20:18.000000000 -0700
+++ devel-akpm/block/ll_rw_blk.c	2006-06-01 20:20:18.000000000 -0700
@@ -1663,6 +1663,8 @@ static void blk_unplug_timeout(unsigned 
  **/
 void blk_start_queue(request_queue_t *q)
 {
+	WARN_ON(!irqs_disabled());
+
 	clear_bit(QUEUE_FLAG_STOPPED, &q->queue_flags);
 
 	/*
@@ -1878,7 +1880,8 @@ EXPORT_SYMBOL(blk_alloc_queue_node);
  *    get dealt with eventually.
  *
  *    The queue spin lock must be held while manipulating the requests on the
- *    request queue.
+ *    request queue; this lock will be taken also from interrupt context, so irq
+ *    disabling is needed for it.
  *
  *    Function returns a pointer to the initialized request queue, or NULL if
  *    it didn't succeed.
_

Patches currently in -mm which might be from blaisorblade@xxxxxxxx are

git-block.patch
uml-make-copy__user-atomic.patch
uml-fix-not_dead_yet-when-directory-is-in-bad-state.patch
uml-rename-and-improve-actually_do_remove.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux