On 7/8/2015 9:51 AM, Hesham ALMatary wrote:
Hi Rohini,

On Wed, Jul 8, 2015 at 1:54 PM, Rohini Kulkarni <krohini1...@gmail.com> wrote:
Hi,

I found this piece of code in confdefs.h

#if defined(RTEMS_SMP)

   /*
    *  If configured for SMP, then we need to know the maximum CPU cores.
    */
   #if !defined(CONFIGURE_SMP_APPLICATION)
     #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
       #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1
     #endif
   #else
     #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
       #error "CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP
Application"
     #endif
   #endif
#endif

This piece of code gets the configured number of CPUs. I suppose this number
is not specified and will have to be specified by me somewhere in the
configurations. But I am unable to find out where.

Every BSP that supports SMP should define the number of
cores/processors in its linkcmds file. For example have a look at
Realview linkcmds file here [1]

The pc386 treats the configured value as the maximum to be supported.
It does not hard code the number on the hardware but probes at run-time.
See libbsp/i386/shared/smp.

The key is that the BSP can set a hard limit or determine the available
set at run-time.

There are two factors:

+ number RTEMS is configured for
+ number present in hardware
  - BSP can probe
  - can be hard-coded

An RTEMS SMP application configured for 2 CPUs on a quad-core system
will simply ignore the other two.

[1] 
https://github.com/RTEMS/rtems/blob/master/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp#L1
Thanks!


On Sat, Jul 4, 2015 at 4:07 PM, Rohini Kulkarni <krohini1...@gmail.com>
wrote:



On Fri, Jul 3, 2015 at 10:43 PM, Joel Sherrill <joel.sherr...@oarcorp.com>
wrote:



On July 3, 2015 11:53:07 AM CDT, Rohini Kulkarni <krohini1...@gmail.com>
wrote:
Any help that I can with this?

On 1 Jul 2015 16:59, "Rohini Kulkarni" <krohini1...@gmail.com> wrote:

Hi all,

I wish to know where the maximum number of processors for a variant are
configured. I took a look at some configure scripts. I could see the
processor count defined for xilinx-zynq in its configuration file as
ZYNQ_CPUS=2.

   This looks to be BSP specific and could originate in configure.ac or a
.h file.
I found this under ~/libbsp/arm/xilinx-zynq/configure
# Check whether --enable-smp was given.
if test "$rtems_cv_HAS_SMP" = "yes"; then :
   ZYNQ_CPUS="2"
fi


It is likely that each BSP has an underlying hardware limit.

Yes



rtems_configuration_get_maximum_processors() called in gets this
configured number. But I don't know from where.

This is set initially based on the confdefs.h parameter
CONFIGURE_SMP_MAXIMUM_PROCESSORS or something close to that (on phone).

Ya, I found this piece of code in confdefs.h
#if defined(RTEMS_SMP)
   /*
    *  If configured for SMP, then we need to know the maximum CPU cores.
    */
   #if !defined(CONFIGURE_SMP_APPLICATION)
     #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
       #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1
     #endif
   #else
     #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
       #error "CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP
Application"
     #endif
   #endif
#endif

This piece of code gets the configured number of CPUs. I suppose this
number is not specified and will have to be specified by me somewhere in the
configurations. But I am unable to find out where.

Ultimately the maximum CPUs for an application is the lower of those
available or RTEMS is configured for.

Yes.


Also where is RTEMS_SMP defined for a bsp?

A side-effect of building with --enable-smp.

Oh,alright.



Thanks.


--

Rohini Kulkarni

--joel




--
Rohini Kulkarni




--
Rohini Kulkarni

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel




--
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherr...@oarcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to