|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] Avoid panic when adjusting sedf parameters
On 17/11/2011 13:30, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
> which would now associate the else with the wrong (inner) if. One
> possible solution that comes to mind would be
>
> #define for_each_domain_in_cpupool(_d,_c) \
> for_each_domain_in_cpupool (_d) \
> if ((_d)->cpupool != (_c)) \
> continue; \
> else
>
> but I think I had seen a more clever solution to this problem, but cannot
> remember/locate it right now.
Given the gcc ({}) construction, you could do a double-loop:
for ( (_d) = rcu_dereference(domain_list); \
(_d) != NULL; \
({ while ((_d) = rcu_dereference((_d)->next_in_list != NULL)
if ((_d)->cpupool == (_c)) break;
(_d); }) )
A bit ugly. ;-) And I still worry about cpupool locking...
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|