From: Andrew Morton <akpm@osdl.org>
To: "Brown, Len" <len.brown@intel.com>
Cc: johnstul@us.ibm.com, linux-kernel@vger.kernel.org, pavel@suse.cz,
linux-acpi@vger.kernel.org
Subject: Re: [BUG] sleeping function called from invalid context during resume
Date: Thu, 6 Jul 2006 20:51:41 -0700 [thread overview]
Message-ID: <20060706205141.a5dc98f4.akpm@osdl.org> (raw)
In-Reply-To: <CFF307C98FEABE47A452B27C06B85BB6ECF303@hdsmsx411.amr.corp.intel.com>
On Thu, 6 Jul 2006 23:10:08 -0400
"Brown, Len" <len.brown@intel.com> wrote:
>
> >I got the following on my laptop w/ 2.6.18-rc1.
> >
> >thanks
> >-john
> >
> >Stopping tasks:
> >================================================================
> >=======================|
> >pnp: Device 00:0b disabled.
> >ACPI: PCI interrupt for device 0000:02:01.0 disabled
> >ACPI: PCI interrupt for device 0000:00:1f.5 disabled
> >ACPI: PCI interrupt for device 0000:00:1d.7 disabled
> >ACPI: PCI interrupt for device 0000:00:1d.2 disabled
> >ACPI: PCI interrupt for device 0000:00:1d.1 disabled
> >ACPI: PCI interrupt for device 0000:00:1d.0 disabled
> >Intel machine check architecture supported.
> >Intel machine check reporting enabled on CPU#0.
> >Back to C!
> >BUG: sleeping function called from invalid context at mm/slab.c:2882
> >in_atomic():0, irqs_disabled():1
> > [<c0103d59>] show_trace_log_lvl+0x149/0x170
> > [<c01052ab>] show_trace+0x1b/0x20
> > [<c01052d4>] dump_stack+0x24/0x30
> > [<c0116e51>] __might_sleep+0xa1/0xc0
> > [<c0165cb5>] kmem_cache_zalloc+0xa5/0xc0
> > [<c0264b5a>] acpi_os_acquire_object+0x11/0x41
>
> yep, the new slab for objects makes this path immune to
> the acpi_in_resume hack in acpi_os_allocate()
hm. Linus's new suspend/resume thing seems to have a two-phase suspend,
but not, afaict, a two-phase resume. If it did, and if the second resume
phase were to run with IRQs enabled then we should be able to address this
appropriately.
> I think we need to get rid of the acpi_in_resume hack
> and use system_state != SYSTEM_RUNNING to address this.
Well if hacks are OK it'd actually be reliable to do
/* comment goes here */
kmalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
because the irqs_disabled() thing happens for well-defined reasons.
Certainly that's better than looking at system_state (and I don't think we
leave SYSTEM_RUNNING during suspend/resume anyway).
next prev parent reply other threads:[~2006-07-07 3:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-07 3:10 [BUG] sleeping function called from invalid context during resume Brown, Len
2006-07-07 3:10 ` Brown, Len
2006-07-07 3:51 ` Andrew Morton [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-07-10 15:51 [linux-pm] " Brown, Len
2006-07-10 16:01 ` Alan Stern
2006-07-10 5:48 Brown, Len
2006-07-10 5:48 ` Brown, Len
2006-07-08 0:21 Brown, Len
2006-07-08 0:21 ` Brown, Len
2006-07-08 0:30 ` Pavel Machek
2006-07-07 16:32 Brown, Len
2006-07-07 16:32 ` Brown, Len
2006-07-07 19:40 ` Andrew Morton
2006-07-07 3:01 john stultz
2006-07-07 3:32 ` Parag Warudkar
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=20060706205141.a5dc98f4.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=johnstul@us.ibm.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@suse.cz \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.