On 29/03/2019 19:42, Andrew Cooper wrote:
> On 29/03/2019 15:08, Juergen Gross wrote:
>> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
>> index 6b5d454630..d1a958143a 100644
>> --- a/xen/common/schedule.c
>> +++ b/xen/common/schedule.c
>> @@ -256,6 +256,7 @@ static void sched_spin_unlock_double(spinlock_t *lock1, 
>> spinlock_t *lock2,
>>  int sched_init_vcpu(struct vcpu *v, unsigned int processor)
>>  {
>>      struct domain *d = v->domain;
>> +    struct sched_item item = { .vcpu = v };
>>  
>>      v->processor = processor;
>>  
>> @@ -267,7 +268,7 @@ int sched_init_vcpu(struct vcpu *v, unsigned int 
>> processor)
>>      init_timer(&v->poll_timer, poll_timer_fn,
>>                 v, v->processor);
>>  
>> -    v->sched_priv = SCHED_OP(dom_scheduler(d), alloc_vdata, v,
>> +    v->sched_priv = SCHED_OP(dom_scheduler(d), alloc_vdata, &item,
>>                       d->sched_priv);
> 
> I realise this is perhaps an over-the-top request, but can we see about
> doing more here?
> 
> SCHED_OP() is a thoroughly objectionable piece of obfuscation, which
> breaks cscope/ctags and also results in especially poor code generation.
> 
> Given that we are changing the interface anyway and touching all
> codepaths, would you mind also adding static inline wrappers like I
> started with 340edc3 ?

Okay, I'll do that.

> TBH, I'm even happy to give this a go and give you the back the
> resulting tree, if you'd prefer.

I think its is easier to do it myself, as I'm touching nearly all of
the call sites anyway.


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to