cvs commit: src/sys/dev/acpica acpi.c

Nate Lawson nate at root.org
Wed Apr 25 21:54:24 UTC 2007


John Baldwin wrote:
> On Wednesday 25 April 2007 12:48:50 pm Nate Lawson wrote:
>> John Baldwin wrote:
>>> jhb         2007-04-25 16:22:18 UTC
>>>
>>>   FreeBSD src repository
>>>
>>>   Modified files:
>>>     sys/dev/acpica       acpi.c 
>>>   Log:
>>>   Use a tighter check to see if a resource allocation request is for a
>>>   specific request and thus should first try to be allocated from the
>>>   sys_resource pool.  This avoids using the sys_resource pool for wildcard
>>>   requests that have bounded ranges coming from cbb(4) and Host-PCI 
> pcib(4)
>>>   drivers.
>>>   
>>>   Tested by:      Andrea Bittau <a.bittau of cs.ucl.ac.uk fame>
>>>   Sleuthing by:   Andrea Bittau as well
>>>   
>>>   Revision  Changes    Path
>>>   1.235     +1 -1      src/sys/dev/acpica/acpi.c
>>>
>>>
>>> Index: src/sys/dev/acpica/acpi.c
>>> diff -u src/sys/dev/acpica/acpi.c:1.234 src/sys/dev/acpica/acpi.c:1.235
>>> --- src/sys/dev/acpica/acpi.c:1.234	Thu Mar 22 18:16:40 2007
>>> +++ src/sys/dev/acpica/acpi.c	Wed Apr 25 16:22:18 2007
>>> @@ -1034,7 +1034,7 @@
>>>       * the request from our system resource regions.  If we can't, pass 
> the
>>>       * request up to the parent.
>>>       */
>>> -    if (!(start == 0UL && end == ~0UL) && rm != NULL)
>>> +    if (start + count - 1 == end && rm != NULL)
>>>  	res = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE,
>>>  	    child);
>>>      if (res == NULL) {
>> I think I'll test this to see if it helps my via 8235 ata survive boot.
> 
> I wonder if in fact the algorithm shouldn't be changed to always try to alloc 
> the resource from the parent first, and only fall back to the sys_resource 
> rmans if that fails?  In theory any resource requests that should be done via 
> sys_resource will fail the request in the parent, yes?
> 

Yes, that should be ok but why not do local first and then push up tree 
if it fails?  Semantically, a child of your bus requested the resource 
so most of the time you should be able to handle it.

-- 
Nate


More information about the cvs-src mailing list