[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 2/2] sched_credit2.c: runqueue_per_core code



>>> On 17.03.15 at 19:18, <dario.faggioli@xxxxxxxxxx> wrote:
> On Mon, 2015-03-16 at 12:56 +0000, Jan Beulich wrote:
>> >>> On 16.03.15 at 13:51, <george.dunlap@xxxxxxxxxxxxx> wrote:
>> > On 03/16/2015 12:48 PM, Jan Beulich wrote:
>> My preferred solution would be, as said, to leverage system_state.
>> Provided the state to look for is consistent between x86 and ARM.
>> 
> Would something like this make sense?

Yes, albeit ...

> --- a/xen/common/sched_credit2.c
> +++ b/xen/common/sched_credit2.c
> @@ -1936,12 +1936,8 @@ static void init_pcpu(const struct scheduler *ops, int 
> cpu)
>      }
>  
>      /* Figure out which runqueue to put it in */
> -    rqi = 0;
> -
> -    /* Figure out which runqueue to put it in */
> -    /* NB: cpu 0 doesn't get a STARTING callback, so we hard-code it to 
> runqueue 0. */
> -    if ( cpu == 0 )
> -        rqi = 0;
> +    if ( system_state == SYS_STATE_boot )

... I'd suggest using <= SYS_STATE_boot or < SYS_STATE_smp_boot.

> @@ -1986,9 +1982,13 @@ static void init_pcpu(const struct scheduler *ops, int 
> cpu)
>  static void *
>  csched2_alloc_pdata(const struct scheduler *ops, int cpu)
>  {
> -    /* Check to see if the cpu is online yet */
> -    /* Note: cpu 0 doesn't get a STARTING callback */
> -    if ( cpu == 0 || cpu_to_socket(cpu) >= 0 )
> +    /*
> +     * Actual initialization is deferred to when the pCPU will be
> +     * online, via a STARTING callback. The only exception is
> +     * the boot cpu, which does not get such a notification, and
> +     * hence needs to be taken care of here.
> +     */
> +    if ( system_state == SYS_STATE_boot )
>          init_pcpu(ops, cpu);

Same here, plus the new condition at the first glance isn't matching
the old one, but perhaps that's intentional.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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