RE: [PATCH] ACPICA: Add hard limit to while loop

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

 



The mutex and event opcodes come to mind, the AML can wait forever on these (Acquire, Wait). However, the interpreter is released when these opcodes block, quite unlike a spinning while loop.

As far as infinite spin loops, I think While() is the only case. There is no GoTo AML operator, so loops cannot be artificially created.

So, I think the loop counter idea is ok. Of course, picking a maximum number might be a bit difficult. 64K loop iterations takes 4-5 seconds on my machine here (in Ring 3). That is a lot of loops for AML code, it might be ok.

Besides, we can say "nobody would ever need more than 64K loop iterations", and get ourselves in the computer hall of fame.  :-)

Bob


>-----Original Message-----
>From: Len Brown [mailto:lenb@xxxxxxxxxx]
>Sent: Thursday, October 09, 2008 9:32 AM
>To: Moore, Robert
>Cc: Alexey Starikovskiy; Linux-acpi@xxxxxxxxxxxxxxx
>Subject: RE: [PATCH] ACPICA: Add hard limit to while loop
>
>
>Are AML while loops our only exposure to getting stuck interpreting AML
>forever?
>
>Maybe there is a more general solution that would cover everything, such
>as counting opcodes or setting a watchdog timer?
>
>thanks,
>-Len

--
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