|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC v1] xen:rtds: towards work conserving RTDS
>
>> @@ -966,8 +1001,16 @@ burn_budget(const struct scheduler *ops, struct
>> rt_vcpu *svc, s_time_t now)
>>
>> if ( svc->cur_budget <= 0 )
>> {
>> - svc->cur_budget = 0;
>> - __set_bit(__RTDS_depleted, &svc->flags);
>> + if ( is_work_conserving(svc) )
>> + {
>> + svc->priority_level++;
>>
> ASSERT(svc->priority_level <= 1);
I'm sorry I didn't see this suggestion in previous email. I don't
think this assert makes sense.
A vcpu that has extratime can have priority_level > 1.
For example, a VCPU (period = 100ms, budget = 10ms) runs alone on a
core. The VCPU may get its budget replenished for 9 times in a
period. the vcpu's priority_level may be 9.
The priority_level here also indicates how many times the VCPU gets
the extra budget in the current period.
>
>> + svc->cur_budget = svc->budget;
>> + }
>> + else
>> + {
>> + svc->cur_budget = 0;
>> + __set_bit(__RTDS_depleted, &svc->flags);
>> + }
>> }
Thanks,
Meng
-----------
Meng Xu
PhD Candidate in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |