From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhikun Wang" Subject: might_sleep warnings in gereric_make_request Date: Thu, 20 Apr 2006 11:05:55 +0800 Message-ID: <200604201105448287687@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 7bit Return-path: Sender: linux-scsi-owner@vger.kernel.org To: Neil Brown , linux-raid , linux-scsi , Eric Moore List-Id: linux-raid.ids Hi: I want to call genric_make_request in bio->bi_end_io function. But it incurs might_sleep warnings! I wonder this method is safe in the kernel? Thanks a lot! cfq: depth 4 reached, tagging now on Debug: sleeping function called from invalid context at drivers/block/ll_rw_blk.c:2878 in_atomic():1, irqs_disabled():0 [] generic_make_request+0x1e/0x23a [] recalc_task_prio+0xc1/0x150 [] activate_task+0x56/0x65 [] raid1_end_sync_read+0x245/0x364 [raid1] [] __wake_up_common+0x39/0x59 [] raid1_end_sync_read+0x0/0x364 [raid1] [] bio_endio+0x3d/0x68 [] mempool_free+0x67/0x1ca [] __end_that_request_first+0xc1/0x1f5 [] elv_queue_empty+0x12/0x1b [] scsi_end_request+0x1e/0x210 [scsi_mod] [] mempool_free+0x67/0x1ca [] ip_local_deliver+0x60/0x1a2 [] scsi_io_completion+0x16c/0x4c2 [scsi_mod] [] recalc_task_prio+0xc1/0x150 [] recalc_task_prio+0xc1/0x150 [] sd_rw_intr+0x137/0x3b1 [sd_mod] [] scsi_finish_command+0x8e/0xc1 [scsi_mod] [] common_interrupt+0x1a/0x20 [] scsi_softirq+0x9e/0xc3 [scsi_mod] [] __do_softirq+0x3e/0x8a [] do_softirq+0x3e/0x42 ======================= [] do_IRQ+0x51/0x82 [] do_IRQ+0x51/0x82 [] common_interrupt+0x1a/0x20 [] default_idle+0x0/0x29 [] default_idle+0x26/0x29 [] cpu_idle+0x34/0x4c [] start_kernel+0x154/0x1ab [] unknown_bootoption+0x0/0x1cd cfq: depth 4 reached, tagging now on Debug: sleeping function called from invalid context at drivers/block/ll_rw_blk.c:2878 in_atomic():1, irqs_disabled():0 [] generic_make_request+0x1e/0x23a [] mempool_free+0x67/0x1ca [] __generic_unplug_device+0x31/0x33 [] __wake_up_common+0x39/0x59 [] raid1_end_sync_read+0x245/0x364 [raid1] [] raid_done_sync+0x2b/0x4a [raid] [] skb_checksum+0x55/0x2cc [] raid1_end_sync_read+0x0/0x364 [raid1] [] bio_endio+0x3d/0x68 [] mempool_free+0x67/0x1ca [] __end_that_request_first+0xc1/0x1f5 [] elv_queue_empty+0x12/0x1b [] scsi_end_request+0x1e/0x210 [scsi_mod] [] mempool_free+0x67/0x1ca [] ip_local_deliver+0x60/0x1a2 [] scsi_io_completion+0x16c/0x4c2 [scsi_mod] [] sd_rw_intr+0x137/0x3b1 [sd_mod] [] cascade+0x21/0x3b [] scsi_finish_command+0x8e/0xc1 [scsi_mod] [] common_interrupt+0x1a/0x20 [] scsi_softirq+0x9e/0xc3 [scsi_mod] [] __do_softirq+0x3e/0x8a [] do_softirq+0x3e/0x42 ======================= [] do_IRQ+0x51/0x82 [] do_IRQ+0x51/0x82 [] common_interrupt+0x1a/0x20 [] default_idle+0x0/0x29 [] default_idle+0x26/0x29 [] cpu_idle+0x34/0x4c [] start_kernel+0x154/0x1ab [] unknown_bootoption+0x0/0x1cd