Re: Latest 2.4 IA64 Baseline (Bjorn) + Latest ACPI testing report

From: Matthew Wilcox <>
Date: 2003-12-18 23:14:56
On Thu, Dec 18, 2003 at 10:42:04AM +0800, Yu, Luming wrote:
> >No, you don't understand how resources work.  When device drivers request
> >them, they're marked as busy.  When busses claim them, they're marked
> >as not-busy.  
>   I didn't find the busy flag for resources you mentioned is being used
> in request_resource function.

That's right, it's used in request_region().

>   Actually, based on whether there is a resource conflict happened,
> request_resource determine whether return -EBUSY . (2.6/kernel/resources.c)

request_resource() is used when you know what the parent resource is.
It's assumed to be not-busy; all it's checking for are existing children
of the parent resource which would conflict.

>   According to comments of code, insert_resource is equivalent of request_resource when no conflict happens. If a conflict happens, and the
> conflicting resources entirely fit within the range of the new resource, then the new resource is inserted and the conflicting resources become
> childs of the new resource. 

Yes, I wrote that comment ;-)

>   Obviously, if device drivers want to consume some resources, then they cannot use insert_resource, because insert_resource will not report conflict.

Right, device drivers wouldn't use either request_resource or insert_resource.
They're used by the bus drivers which know a lot more about the system
topology than device drivers (which in general do not care).

>   To anyone using request_resource to consume some resources, how to handle
> conflict situation? If this conflict is between resources supplier (BUS
> device) and resources consumer (Device ) , then device driver should ignore
> this conflict, because it's not a true conflict.

Drivers never see a conflict because they use request_region() which handles
the resource hierarchy for them.

Look at the patch I sent earlier in the thread.  We change the bus driver
to call insert_resource; we don't change the vga driver at all.

"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Thu Dec 18 07:15:22 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:21 EST