|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |