mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Paul Dickson <dickson@permanentmail.com>,
	Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Deep call trace from PCMCIA CF eject
Date: Wed, 13 Aug 2003 17:53:11 +0100	[thread overview]
Message-ID: <20030813175311.B20676@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20030813072456.35d62460.dickson@permanentmail.com>; from dickson@permanentmail.com on Wed, Aug 13, 2003 at 07:24:56AM -0700

On Wed, Aug 13, 2003 at 07:24:56AM -0700, Paul Dickson wrote:
> Besides the minor concern about the trace itself, a bigger concern on my
> part is how deep the call trace is (60+ levels).  How's it doing for stack
> space?

Not all those functions listed were involved - never, ever believe an
x86 call trace as being the absolute truth. 8)

The real calltrace is much closer to:

> Aug 13 06:57:59 violet cardmgr[1559]: executing: './ide check hde'
> Aug 13 06:58:00 violet cardmgr[1559]: executing: './ide stop hde'
> Aug 13 06:58:01 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> Aug 13 06:58:01 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
> Aug 13 06:58:01 violet kernel: hde: Write Cache FAILED Flushing!
> Aug 13 06:58:01 violet cardmgr[1559]: + /dev/hde1 umounted
> Aug 13 06:58:01 violet kernel: updfstab: numerical sysctl 1 23 is obsolete.
> Aug 13 06:58:02 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> Aug 13 06:58:02 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
> Aug 13 06:58:02 violet kernel: hde: Write Cache FAILED Flushing!
> Aug 13 06:58:02 violet kernel: Debug: sleeping function called from invalid context at include/linux/rwsem.h:66
> Aug 13 06:58:02 violet kernel: Call Trace:
> Aug 13 06:58:02 violet kernel:  [<c011bc81>] __might_sleep+0x61/0x80
> Aug 13 06:58:02 violet kernel:  [<c02376dc>] unlink+0x3c/0xa0
> Aug 13 06:58:02 violet kernel:  [<c0267a32>] kobj_unmap+0x62/0x110
> Aug 13 06:58:02 violet kernel:  [<c026cf62>] blk_unregister_region+0x22/0x30
> Aug 13 06:58:02 violet kernel:  [<c0287eb3>] ide_unregister+0x2f3/0x8d0
> Aug 13 06:58:02 violet kernel:  [<d096cba4>] ide_release+0x94/0x130 [ide_cs]
> Aug 13 06:58:02 violet kernel:  [<d096c1fc>] ide_detach+0xac/0xc0 [ide_cs]
> Aug 13 06:58:02 violet kernel:  [<d09727e2>] unbind_request+0xd2/0xe0 [ds]
> Aug 13 06:58:02 violet kernel:  [<d0972fa1>] ds_ioctl+0x441/0x770 [ds]
> Aug 13 06:58:02 violet kernel:  [<c01652b0>] sys_ioctl+0x100/0x290
> Aug 13 06:58:02 violet kernel:  [<c010b1f9>] sysenter_past_esp+0x52/0x71

The problem is IDE - ide_unregister() does the following:

        spin_lock_irq(&ide_lock);
...
        blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS);

Since blk_unregister_region is sleepy, and sleeping with a spinlock
held is a big NO NO, it's an IDE problem not a PCMCIA problem.  It
should be calling blk_unregister_region with a spinlock held.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


  parent reply	other threads:[~2003-08-13 16:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-13 14:24 Paul Dickson
2003-08-13 15:38 ` Paul Dickson
2003-08-13 16:53 ` Russell King [this message]
2003-08-13 17:50   ` Bartlomiej Zolnierkiewicz
2003-08-13 21:31     ` Paul Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030813175311.B20676@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=B.Zolnierkiewicz@elka.pw.edu.pl \
    --cc=dickson@permanentmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®