Bug 909 - iASL: If method creates named objects, issue remark
Summary: iASL: If method creates named objects, issue remark
Status: RESOLVED FIXED
Alias: None
Product: ACPICA
Classification: Unclassified
Component: iASL Compiler (show other bugs)
Version: unspecified
Hardware: All Any-All
: P3 enhancement
Assignee: Bob Moore
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-09 09:21 PST by Bob Moore
Modified: 2013-05-17 10:08 PDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bob Moore 2011-03-09 09:21:15 PST
Perhaps iASL can automatically (with a warning or remark) mark a control method as serialized if the method creates named objects. This could prevent a runtime error since the method is clearly non-reentrant.

Suggestion from Thomas Renninger.
Comment 1 Bob Moore 2011-03-18 13:30:10 PDT
Prototype indicates that simply warning and marking serialized for any named object creation is insufficient and will lead to unneccessary warnings. If the method has no blocking operators, it will indeed run to completion and a 2nd thread can never re-enter.

The real problem is a control method that both:
1) Creates named objects, AND
2) Blocks in some manner (such as as a Sleep.)

This is a bit trickier, but still may be possible.
Comment 2 Bob Moore 2013-04-18 13:58:51 PDT
Also suggested by BIOS people.

A remark might be appropriate here, and just go ahead and mark it serialized if it creates named objects.

Serializing a method will cause a separate semaphore/mutex to be created for that method, however.
Comment 3 Bob Moore 2013-05-03 09:12:35 PDT
What has been decided:

1) In this case, issue a remark that the method should be declared serialized.
2) Do NOT automatically mark the method serialized. Compiler should not be changing the code like this.
Comment 4 Bob Moore 2013-05-17 10:08:34 PDT
Implemented in ACPICA version 20130517