Yes but this is not a bare metal problem I think. Bare metal environments
can support multithreaded applications with shared address space?

Why would you run an ODP application with multiple separate processes as
opposed to just a multithreaded process? There's so much shared state in
ODP so how much robustness does multiprocessing actually give you?


On 3 September 2014 15:40, Savolainen, Petri (NSN - FI/Espoo) <
[email protected]> wrote:

>  Those variables will be separate copies, if you run an ODP instance as
> multiple processes (not fork from a common ancestor).
>
>
>
> -Petri
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *ext Ola Liljedahl
> *Sent:* Wednesday, September 03, 2014 4:23 PM
> *To:* Jerin Jacob
> *Cc:* [email protected]
> *Subject:* Re: [lng-odp] ODP Bare-metal support
>
>
>
> Are you concerned that global data regions will not be mapped for all
> cores on some multicore architectures and associated runtime environments?
> Or that they will not be shared but that each core might get its own
> instance?
>
>
>
> On 3 September 2014 15:20, Ola Liljedahl <[email protected]> wrote:
>
> If you use shared data (e.g. using global variables) in a multithreaded
> environment, you will need to do explicit synchronization (barriers etc)
> from the application.
>
> I assume that the current test and example apps support multithreaded
> (including multicore) environments. Do you think there are problems with
> these apps?
>
>
>
> -- Ola
>
>
>
>
>
>
>
> On 3 September 2014 15:05, Jerin Jacob <[email protected]>
> wrote:
>
> On Wed, Sep 03, 2014 at 02:14:20PM +0400, Maxim Uvarov wrote:
> > Hello Jacob,
> >
> > that is interesting. Sound linke not huge work is needed. But in your
> case
> > you need to implement
> > separate "odp platform" which will use Cavium specific things instead of
> > linux-generic.
> >
> > I also have some notes bellow.
> >
> > On 09/03/2014 11:49 AM, Jacob, Jerin wrote:
> > >All,
> > >
> > >We have tried to add ODP bare-metal support for Cavium SoC to find the
> gap
> > >in ODP mainline API definition for bare-metal run-time environment
> support.
> > >
> > >I would like to share the findings so that we can discuss and going
> forward we can
> > >incorporate those gaps in ODP API definition and have bare metal
> support in ODP.
> > >
> > >Following are the details:
> > >
> > >1) Generic ODP API to launch the work on selected cores.
> > >Currently applications are using
> odp_linux_pthread_create/odp_linux_pthread_join
> > >API's to do the same. Which needs to changed to generic ODP API.
> > >
> > >Expectation:
> > >Function "main" in the app shall be invoked by the root core and
> > >other core shall be launched by the root core using ODP API.
> >
> > That might be good catch. We do cpu isolation for odp process in linux.
> But
> > still did not define
> > proper set up for this. Or script will isolate core and then we need odp
> app
> > moved to that specific
> > core or we do everything in odp app.  In you particular case I think it's
> > reasonable to send patch
> > for this and we can discuss how is that suitable for other SoC.
> >
> > >2) ODP API's support command line parsing.
> > >If an ODP application demands for more sophisticated command line
> parsing
> > >(can not be achieved through getopt*) then I think
> > >we should have dedicated ODP API's for command line parsing like dpdk.
> >
> > Does patch "[v5] Add-global_init-paramiters" solve your problem?
> > https://patches.linaro.org/36509/
> >
> > >3) Changes in configure.ac
> > >Need an additional configure option to skip checking the linux specific
> > >libraries in configure.ac
> >
> > That is fine. Do not see any problem with changing configure.ac or
> moving
> > it's parts
> > to platform specific folder.
> >
> > >4) Avoid using global variables in odp application for sharing
> > >the data between cores.
> >
> > Not sure that I understand that. Are you saying about reserving memory
> > blocks
> > with different names for all application instances?
>
> I was trying to say that the use of global variable for sharing the data
> between cores very
> well work on one process and multiple pthread scenario like current linux
> generic examples.
> But it would break when we move to multi process or bare metal environment.
>
>
> >
> > Best regards,
> > Maxim.
> >
> > >Any thoughts ?
> > >
> > >- Jerin.
> > >_______________________________________________
> > >lng-odp mailing list
> > >[email protected]
> > >http://lists.linaro.org/mailman/listinfo/lng-odp
> >
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp
>
>
>
>
>
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to