Kernel panic when unpluggin AC adaptor

Taku YAMAMOTO taku at tackymt.homeip.net
Tue May 18 19:16:06 UTC 2010


Is it faster to call sched_bind() temporarily in acpi_cpu_notify()
than locking around many places?

If we successfully sched_bind() to the subject CPU, I think we're guaranteed
that the acpi_cpu_idle() is not running on that CPU.


On Tue, 18 May 2010 16:04:07 +0200
Giovanni Trematerra <giovanni.trematerra at gmail.com> wrote:

> On Sat, May 15, 2010 at 9:12 PM, Brandon Gooch
> <jamesbrandongooch at gmail.com> wrote:
> > On Thu, May 13, 2010 at 7:25 PM, Giovanni Trematerra
> > <giovanni.trematerra at gmail.com> wrote:
> >> On Thu, May 13, 2010 at 1:09 AM, Brandon Gooch
> >> <jamesbrandongooch at gmail.com> wrote:
> >>> On Wed, May 12, 2010 at 9:41 AM, Attilio Rao <attilio at freebsd.org> wrote:
> >>>> 2010/5/12 David DEMELIER <demelier.david at gmail.com>:
> >>>>> I remove the patch, and built the kernel (I updated the src this
> >>>>> morning) and it does not panic now. It's really odd. If it reappears
> >>>>> soon I will tell you.
> >>>>
> >>>> I looked at the code with Giovanni and I have the feeling that the
> >>>> race with the idle thread may still be fatal.
> >>>> We need to fix that.
> >>>>
> >>>> Attilio
> >>>>
> >>>
> >>> That seems to be the case, as my laptop shows about an 80-85 % chance
> >>> of experiencing a panic if left idle for long-ish periods of time (2
> >>> to 4 hours). I usually rebuild world or big ports overnight, and more
> >>> often than not I wake up to a panicked machine, same situation every
> >>> time:
> >>>
> >>> ...
> >>> rman_get_bushandle() at rman_get_bushandle+0x1
> >>> sched_idletd() at sched_idletd+0x123
> >>> fork_exit() at fork_exit+0x12a
> >>> fork_trampoline() at fork_trampoline+0xe
> >>> ...
> >>>
> >>> The kernel/userland is rebuilt, the ports are finished compiling --
> >>> it's in the time AFTER the completion of all tasks that the machine
> >>> gets bored and tries to kill itself :)
> >>>
> >>> I have seen the AC adapter plug/unplug "hang" in the past on this
> >>> laptop, but I never made the connection between the events, as
> >>> nowadays my laptop usually stays plugged in :(
> >>>
> >>> Attilio, I hope you can track this one down, let me know if I can do
> >>> anything to help or test...
> >>>
> >>
> >> Attilio and I came up with this patch. It seems ready for stress
> >> testing and review
> >> Please test and report back.
> >>
> >> Thank you
> >>
> >> P.S: all the faults are only mine.
> >
> > I tried the patch, and my kernel panics I panic on boot. I have
> > 8.5MB(!) of JPG images (6 of them) if anyone needs to see them. I'm
> > looking for a place to post them, but if anyone wants, I can send via
> > e-mail...
> 
> Hi Brandon,
> Could you please, try this new one? The panic at boot stage should be solved,
> at least I tried on a 8-way machine and all went ok at boot.
> Please, remove WITNESS_SKIPSPIN from your kernel config file.
> This patch might be sub-optimal and contains style(9) error but if it
> works we are
> on the right way.
> Let me know if it works for you.
> 
> Thanks
> 
> --
> Gianni
> 


-- 
-|-__   山本 拓 / YAMAMOTO, Taku
 | __ <     <taku at tackymt.homeip.net>

      - A chicken is an egg's way of producing more eggs. -


More information about the freebsd-acpi mailing list