Messages in this thread | | | Date | Tue, 11 Jul 2006 09:17:54 +0200 | From | Jens Axboe <> | Subject | Re: Spinlock Related Debug Messages in Block Driver |
| |
On Tue, Jul 11 2006, Srinivas Ganji wrote: > Dear All, > > I implemented the sample block driver for the removable devices and > the code contains no statements related to the spin lock except a lock > to the blk_init_queue API as shown below. > > spinlock_t qlock; > gDisk->blkqueue = blk_init_queue(do_my_request, &gDisk->qlock); > > The kernel version is 2.6.10. > > Everything works fine but when I try to copy a file of huge size > (about 100MB), the following debug messages are getting displayed on > the console: > > Fc3: drivers/block/ll_rw_blk.c: 2351: spin_lock already locked by the > drivers. > Fc3: drivers/block/ll_rw_blk.c: 2468: spin_unlock not locked by the drivers. > > In spite of these debug messages; the file is getting copied successfully. > I studied the Block driver 16th chapter in LDD third edition. > > Can any one provide a pointer to these debug messages. Do I need to > implement any patches for the kernel.
You need to initialize the lock passed to blk_init_queue() first. See eg spin_lock_init(), or one of the static initializers (SPIN_LOCK_UNLOCKED).
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |