Ok. I understand you. But then... how can I to define cpu_number() function
in multiprocessor? It isn't clear

2018-06-15 1:30 GMT+02:00 Amos Jeffries <squ...@treenet.co.nz>:

> On 15/06/18 10:31, Almudena Garcia wrote:
> > Yes, I concluded the same a few hours ago. I tried to edit
> > kern/cpu_number.h, to add a new definition with many cores, at this form
> >
> > int     master_cpu;     /* 'master' processor - keeps time */
> >
> > #if     (NCPUS == 1)
> >         /* cpu number is always 0 on a single processor system */
> > #define cpu_number()    (0)
> >
> > #define CPU_L1_SIZE (1 << CPU_L1_SHIFT)
> >
> > #else
> > #define cpu_number() (NCPUS)
> >
>
> I may be wrong, but that does not seem correct.
>
> The man page for cpu_number() state it to be "an unique CPU
> identification number for the CPU that this thread is running on". So it
> clearly can change at runtime if there are 2+ CPUs on the machine.
>
> Whereas NCPUS is being used by the precompiler as an integer with fixed
> value that can be known at pre-compile time. Implied by the "#if NCPUS >
> 1" statement which this version of the code omits.
>
>
> AYJ
>
>

Reply via email to