Re: Possible bug in ACPI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 03 Dec 2006 12:30:52 +0300
Alexey Starikovskiy <alexey.y.starikovskiy@xxxxxxxxxxxxxxx> wrote:

> Andrew Morton wrote:
> > On Sun, 03 Dec 2006 12:06:54 +0300
> > Alexey Starikovskiy <alexey.y.starikovskiy@xxxxxxxxxxxxxxx> wrote:
> >
> >   
> >> This is a patch reverted by Linus from rc6-git2 because it broke his 
> >> Compaq n620c, it refers to #5534 bug. Basically, kacpid deadlocks on 
> >> some new HP notebooks, and all incoming requests would be queued until 
> >> memory is over if this patch is not applied. On a bright side -- it's 
> >> not a memory leak...
> >> Patch, which works for Linus laptop and "looks acceptable" to Linus is 
> >> the last in #5534 list.
> >>     
> >
> > hm, if you say so.
> I forwarded Linus' mail to you...

I didn't receive it.

> >   The description in that patch is nowhere near complete
> > enough for me to be able to work out what it does.
> >
> >   
> Will update.
> 
> > The sys_sched_yield() is particularly incomprehensible and needs good
> > commenting.  You are, I hope, aware of the severe problems which yield()
> > causes when the system is busy?  The process which calls it will get
> > practically no CPU at all.
> >
> >   
> On Linus' machine, as soon as we execute deferred work, it's GPE becomes 
> enabled again and BIOS sends us a new event.
> So kacpid is always ready to run, while kacpi_notify don't have a chance 
> to run. sys_sched_yield() was added to
> give kacpi_notify a chance to run.
> I was thinking about lowering the priority of kacpid, is it better?

It all sounds horridly hacky, but I don't understand the problem well
enough to be able to recommend any solutions.  That's why I was hoping for
a decent description of the patch.

How does it relate to this? http://lkml.org/lkml/2006/8/8/336

> > Minor point: that patch has several unneded (and undesirable) casts of void*:
> >
> > +static void acpi_os_execute_notify(void *context)
> > +{
> > +	struct acpi_os_dpc *dpc = (struct acpi_os_dpc *)context;
> > 	
> > please remove those.
> >   

I'll take that as an "OK" ;)
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux