[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.