Message ID | 1464015895-4578-1-git-send-email-christophe.milard@linaro.org |
---|---|
State | Accepted |
Commit | 9db23e94afa40aafcb1205c0d936d1a0334e55d9 |
Headers | show |
On 23 May 2016 at 17:04, Christophe Milard <christophe.milard@linaro.org> wrote: > Signed-off-by: Christophe Milard <christophe.milard@linaro.org> > --- > helper/include/odp/helper/linux.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/helper/include/odp/helper/linux.h > b/helper/include/odp/helper/linux.h > index 01c348d..2e89833 100644 > --- a/helper/include/odp/helper/linux.h > +++ b/helper/include/odp/helper/linux.h > @@ -73,13 +73,13 @@ typedef struct { > > /** The odpthread starting arguments, used both in process or thread mode > */ > typedef struct { > - odph_odpthread_linuxtype_t linuxtype; > - odph_odpthread_params_t thr_params; /*copy of thread start > parameter*/ > + odph_odpthread_linuxtype_t linuxtype; /**< process or pthread */ > ODP threads might not be pthreads. There are many implementations of threads. Aren't we trying to tell the application if we are using a single-process (memory space) or multi-process model? Let's report this and only this. + odph_odpthread_params_t thr_params; /**< odpthread start parameters > */ > } odph_odpthread_start_args_t; > > /** Linux odpthread state information, used both in process or thread > mode */ > typedef struct { > - odph_odpthread_start_args_t start_args; > + odph_odpthread_start_args_t start_args; /**< start arguments */ > int cpu; /**< CPU ID */ > int last; /**< true if last table > entry */ > union { > -- > 2.5.0 > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp >
This is for linux helpers: in odp linux, just pthreads and processes are supported as odpthreads.(well actually processes are not supported yet, but we head to it). If we support something else in some future, we'll update the comment then. Christophe On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > > > On 23 May 2016 at 17:04, Christophe Milard <christophe.milard@linaro.org> > wrote: > >> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >> --- >> helper/include/odp/helper/linux.h | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/helper/include/odp/helper/linux.h >> b/helper/include/odp/helper/linux.h >> index 01c348d..2e89833 100644 >> --- a/helper/include/odp/helper/linux.h >> +++ b/helper/include/odp/helper/linux.h >> @@ -73,13 +73,13 @@ typedef struct { >> >> /** The odpthread starting arguments, used both in process or thread >> mode */ >> typedef struct { >> - odph_odpthread_linuxtype_t linuxtype; >> - odph_odpthread_params_t thr_params; /*copy of thread start >> parameter*/ >> + odph_odpthread_linuxtype_t linuxtype; /**< process or pthread */ >> > ODP threads might not be pthreads. There are many implementations of > threads. > Aren't we trying to tell the application if we are using a single-process > (memory space) or multi-process model? > Let's report this and only this. > > + odph_odpthread_params_t thr_params; /**< odpthread start >> parameters */ >> } odph_odpthread_start_args_t; >> >> /** Linux odpthread state information, used both in process or thread >> mode */ >> typedef struct { >> - odph_odpthread_start_args_t start_args; >> + odph_odpthread_start_args_t start_args; /**< start arguments >> */ >> int cpu; /**< CPU ID */ >> int last; /**< true if last table >> entry */ >> union { >> -- >> 2.5.0 >> >> _______________________________________________ >> lng-odp mailing list >> lng-odp@lists.linaro.org >> https://lists.linaro.org/mailman/listinfo/lng-odp >> > >
On 23 May 2016 at 17:28, Christophe Milard <christophe.milard@linaro.org> wrote: > This is for linux helpers: in odp linux, just pthreads and processes are > supported as odpthreads.(well actually processes are not supported yet, but > we head to it). > You can use C and C++ threads in Linux as well. You just need a conforming compiler. > If we support something else in some future, we'll update the comment then. > > Christophe > > On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > >> >> >> On 23 May 2016 at 17:04, Christophe Milard <christophe.milard@linaro.org> >> wrote: >> >>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >>> --- >>> helper/include/odp/helper/linux.h | 6 +++--- >>> 1 file changed, 3 insertions(+), 3 deletions(-) >>> >>> diff --git a/helper/include/odp/helper/linux.h >>> b/helper/include/odp/helper/linux.h >>> index 01c348d..2e89833 100644 >>> --- a/helper/include/odp/helper/linux.h >>> +++ b/helper/include/odp/helper/linux.h >>> @@ -73,13 +73,13 @@ typedef struct { >>> >>> /** The odpthread starting arguments, used both in process or thread >>> mode */ >>> typedef struct { >>> - odph_odpthread_linuxtype_t linuxtype; >>> - odph_odpthread_params_t thr_params; /*copy of thread start >>> parameter*/ >>> + odph_odpthread_linuxtype_t linuxtype; /**< process or pthread */ >>> >> ODP threads might not be pthreads. There are many implementations of >> threads. >> Aren't we trying to tell the application if we are using a single-process >> (memory space) or multi-process model? >> Let's report this and only this. >> >> + odph_odpthread_params_t thr_params; /**< odpthread start >>> parameters */ >>> } odph_odpthread_start_args_t; >>> >>> /** Linux odpthread state information, used both in process or thread >>> mode */ >>> typedef struct { >>> - odph_odpthread_start_args_t start_args; >>> + odph_odpthread_start_args_t start_args; /**< start arguments >>> */ >>> int cpu; /**< CPU ID */ >>> int last; /**< true if last table >>> entry */ >>> union { >>> -- >>> 2.5.0 >>> >>> _______________________________________________ >>> lng-odp mailing list >>> lng-odp@lists.linaro.org >>> https://lists.linaro.org/mailman/listinfo/lng-odp >>> >> >> >
On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > > > On 23 May 2016 at 17:28, Christophe Milard <christophe.milard@linaro.org> > wrote: > >> This is for linux helpers: in odp linux, just pthreads and processes are >> supported as odpthreads.(well actually processes are not supported yet, but >> we head to it). >> > You can use C and C++ threads in Linux as well. You just need a conforming > compiler. > Not through the helper at this stage. When calling odph_odpthread_create(), the odpthread is created as either pthread (default) or forked process (--odph_proc option). So at this stage C and C++ threads are not supported by the helpers. > > >> If we support something else in some future, we'll update the comment >> then. >> >> Christophe >> >> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: >> >>> >>> >>> On 23 May 2016 at 17:04, Christophe Milard <christophe.milard@linaro.org >>> > wrote: >>> >>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >>>> --- >>>> helper/include/odp/helper/linux.h | 6 +++--- >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/helper/include/odp/helper/linux.h >>>> b/helper/include/odp/helper/linux.h >>>> index 01c348d..2e89833 100644 >>>> --- a/helper/include/odp/helper/linux.h >>>> +++ b/helper/include/odp/helper/linux.h >>>> @@ -73,13 +73,13 @@ typedef struct { >>>> >>>> /** The odpthread starting arguments, used both in process or thread >>>> mode */ >>>> typedef struct { >>>> - odph_odpthread_linuxtype_t linuxtype; >>>> - odph_odpthread_params_t thr_params; /*copy of thread start >>>> parameter*/ >>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or pthread */ >>>> >>> ODP threads might not be pthreads. There are many implementations of >>> threads. >>> Aren't we trying to tell the application if we are using a >>> single-process (memory space) or multi-process model? >>> Let's report this and only this. >>> >>> + odph_odpthread_params_t thr_params; /**< odpthread start >>>> parameters */ >>>> } odph_odpthread_start_args_t; >>>> >>>> /** Linux odpthread state information, used both in process or thread >>>> mode */ >>>> typedef struct { >>>> - odph_odpthread_start_args_t start_args; >>>> + odph_odpthread_start_args_t start_args; /**< start >>>> arguments */ >>>> int cpu; /**< CPU ID */ >>>> int last; /**< true if last table >>>> entry */ >>>> union { >>>> -- >>>> 2.5.0 >>>> >>>> _______________________________________________ >>>> lng-odp mailing list >>>> lng-odp@lists.linaro.org >>>> https://lists.linaro.org/mailman/listinfo/lng-odp >>>> >>> >>> >> >
On 23 May 2016 at 17:34, Christophe Milard <christophe.milard@linaro.org> wrote: > > > On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > >> >> >> On 23 May 2016 at 17:28, Christophe Milard <christophe.milard@linaro.org> >> wrote: >> >>> This is for linux helpers: in odp linux, just pthreads and processes are >>> supported as odpthreads.(well actually processes are not supported yet, but >>> we head to it). >>> >> You can use C and C++ threads in Linux as well. You just need a >> conforming compiler. >> > > Not through the helper at this stage. When calling > odph_odpthread_create(), the odpthread is created as either pthread > (default) or forked process (--odph_proc option). > So at this stage C and C++ threads are not supported by the helpers. > OK that's fine if this is all encapsulated in to ODP/Linux helpers. That should be possible to change without interfering too much with the actual ODP implementation in use. > > >> >> >>> If we support something else in some future, we'll update the comment >>> then. >>> >>> Christophe >>> >>> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: >>> >>>> >>>> >>>> On 23 May 2016 at 17:04, Christophe Milard < >>>> christophe.milard@linaro.org> wrote: >>>> >>>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >>>>> --- >>>>> helper/include/odp/helper/linux.h | 6 +++--- >>>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>>> >>>>> diff --git a/helper/include/odp/helper/linux.h >>>>> b/helper/include/odp/helper/linux.h >>>>> index 01c348d..2e89833 100644 >>>>> --- a/helper/include/odp/helper/linux.h >>>>> +++ b/helper/include/odp/helper/linux.h >>>>> @@ -73,13 +73,13 @@ typedef struct { >>>>> >>>>> /** The odpthread starting arguments, used both in process or thread >>>>> mode */ >>>>> typedef struct { >>>>> - odph_odpthread_linuxtype_t linuxtype; >>>>> - odph_odpthread_params_t thr_params; /*copy of thread start >>>>> parameter*/ >>>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or pthread >>>>> */ >>>>> >>>> ODP threads might not be pthreads. There are many implementations of >>>> threads. >>>> Aren't we trying to tell the application if we are using a >>>> single-process (memory space) or multi-process model? >>>> Let's report this and only this. >>>> >>>> + odph_odpthread_params_t thr_params; /**< odpthread start >>>>> parameters */ >>>>> } odph_odpthread_start_args_t; >>>>> >>>>> /** Linux odpthread state information, used both in process or thread >>>>> mode */ >>>>> typedef struct { >>>>> - odph_odpthread_start_args_t start_args; >>>>> + odph_odpthread_start_args_t start_args; /**< start >>>>> arguments */ >>>>> int cpu; /**< CPU ID */ >>>>> int last; /**< true if last >>>>> table entry */ >>>>> union { >>>>> -- >>>>> 2.5.0 >>>>> >>>>> _______________________________________________ >>>>> lng-odp mailing list >>>>> lng-odp@lists.linaro.org >>>>> https://lists.linaro.org/mailman/listinfo/lng-odp >>>>> >>>> >>>> >>> >> >
Did a quick google on possibilities for how to implement an odp_thread, 99% of which we dont support , but might make an interesting project. https://software.intel.com/en-us/articles/choosing-the-right-threading-framework On 23 May 2016 at 11:34, Christophe Milard <christophe.milard@linaro.org> wrote: > On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > > > > > > > On 23 May 2016 at 17:28, Christophe Milard <christophe.milard@linaro.org > > > > wrote: > > > >> This is for linux helpers: in odp linux, just pthreads and processes are > >> supported as odpthreads.(well actually processes are not supported yet, > but > >> we head to it). > >> > > You can use C and C++ threads in Linux as well. You just need a > conforming > > compiler. > > > > Not through the helper at this stage. When calling odph_odpthread_create(), > the odpthread is created as either pthread (default) or forked process > (--odph_proc option). > So at this stage C and C++ threads are not supported by the helpers. > > > > > > > >> If we support something else in some future, we'll update the comment > >> then. > >> > >> Christophe > >> > >> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> > wrote: > >> > >>> > >>> > >>> On 23 May 2016 at 17:04, Christophe Milard < > christophe.milard@linaro.org > >>> > wrote: > >>> > >>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> > >>>> --- > >>>> helper/include/odp/helper/linux.h | 6 +++--- > >>>> 1 file changed, 3 insertions(+), 3 deletions(-) > >>>> > >>>> diff --git a/helper/include/odp/helper/linux.h > >>>> b/helper/include/odp/helper/linux.h > >>>> index 01c348d..2e89833 100644 > >>>> --- a/helper/include/odp/helper/linux.h > >>>> +++ b/helper/include/odp/helper/linux.h > >>>> @@ -73,13 +73,13 @@ typedef struct { > >>>> > >>>> /** The odpthread starting arguments, used both in process or thread > >>>> mode */ > >>>> typedef struct { > >>>> - odph_odpthread_linuxtype_t linuxtype; > >>>> - odph_odpthread_params_t thr_params; /*copy of thread start > >>>> parameter*/ > >>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or pthread > */ > >>>> > >>> ODP threads might not be pthreads. There are many implementations of > >>> threads. > >>> Aren't we trying to tell the application if we are using a > >>> single-process (memory space) or multi-process model? > >>> Let's report this and only this. > >>> > >>> + odph_odpthread_params_t thr_params; /**< odpthread start > >>>> parameters */ > >>>> } odph_odpthread_start_args_t; > >>>> > >>>> /** Linux odpthread state information, used both in process or thread > >>>> mode */ > >>>> typedef struct { > >>>> - odph_odpthread_start_args_t start_args; > >>>> + odph_odpthread_start_args_t start_args; /**< start > >>>> arguments */ > >>>> int cpu; /**< CPU ID */ > >>>> int last; /**< true if last > table > >>>> entry */ > >>>> union { > >>>> -- > >>>> 2.5.0 > >>>> > >>>> _______________________________________________ > >>>> lng-odp mailing list > >>>> lng-odp@lists.linaro.org > >>>> https://lists.linaro.org/mailman/listinfo/lng-odp > >>>> > >>> > >>> > >> > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp >
I don't think we should implement this by our own. If we do somthing about it, it would just be awrapper for some functions, I guess... On 23 May 2016 at 17:47, Mike Holmes <mike.holmes@linaro.org> wrote: > Did a quick google on possibilities for how to implement an odp_thread, > 99% of which we dont support , but might make an interesting project. > > > > https://software.intel.com/en-us/articles/choosing-the-right-threading-framework > > On 23 May 2016 at 11:34, Christophe Milard <christophe.milard@linaro.org> > wrote: > >> On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: >> >> > >> > >> > On 23 May 2016 at 17:28, Christophe Milard < >> christophe.milard@linaro.org> >> > wrote: >> > >> >> This is for linux helpers: in odp linux, just pthreads and processes >> are >> >> supported as odpthreads.(well actually processes are not supported >> yet, but >> >> we head to it). >> >> >> > You can use C and C++ threads in Linux as well. You just need a >> conforming >> > compiler. >> > >> >> Not through the helper at this stage. When calling >> odph_odpthread_create(), >> the odpthread is created as either pthread (default) or forked process >> (--odph_proc option). >> So at this stage C and C++ threads are not supported by the helpers. >> >> >> > >> > >> >> If we support something else in some future, we'll update the comment >> >> then. >> >> >> >> Christophe >> >> >> >> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> >> wrote: >> >> >> >>> >> >>> >> >>> On 23 May 2016 at 17:04, Christophe Milard < >> christophe.milard@linaro.org >> >>> > wrote: >> >>> >> >>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >> >>>> --- >> >>>> helper/include/odp/helper/linux.h | 6 +++--- >> >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >> >>>> >> >>>> diff --git a/helper/include/odp/helper/linux.h >> >>>> b/helper/include/odp/helper/linux.h >> >>>> index 01c348d..2e89833 100644 >> >>>> --- a/helper/include/odp/helper/linux.h >> >>>> +++ b/helper/include/odp/helper/linux.h >> >>>> @@ -73,13 +73,13 @@ typedef struct { >> >>>> >> >>>> /** The odpthread starting arguments, used both in process or thread >> >>>> mode */ >> >>>> typedef struct { >> >>>> - odph_odpthread_linuxtype_t linuxtype; >> >>>> - odph_odpthread_params_t thr_params; /*copy of thread start >> >>>> parameter*/ >> >>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or >> pthread */ >> >>>> >> >>> ODP threads might not be pthreads. There are many implementations of >> >>> threads. >> >>> Aren't we trying to tell the application if we are using a >> >>> single-process (memory space) or multi-process model? >> >>> Let's report this and only this. >> >>> >> >>> + odph_odpthread_params_t thr_params; /**< odpthread start >> >>>> parameters */ >> >>>> } odph_odpthread_start_args_t; >> >>>> >> >>>> /** Linux odpthread state information, used both in process or >> thread >> >>>> mode */ >> >>>> typedef struct { >> >>>> - odph_odpthread_start_args_t start_args; >> >>>> + odph_odpthread_start_args_t start_args; /**< start >> >>>> arguments */ >> >>>> int cpu; /**< CPU ID */ >> >>>> int last; /**< true if last >> table >> >>>> entry */ >> >>>> union { >> >>>> -- >> >>>> 2.5.0 >> >>>> >> >>>> _______________________________________________ >> >>>> lng-odp mailing list >> >>>> lng-odp@lists.linaro.org >> >>>> https://lists.linaro.org/mailman/listinfo/lng-odp >> >>>> >> >>> >> >>> >> >> >> > >> _______________________________________________ >> lng-odp mailing list >> lng-odp@lists.linaro.org >> https://lists.linaro.org/mailman/listinfo/lng-odp >> > > > > -- > Mike Holmes > Technical Manager - Linaro Networking Group > Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs > "Work should be fun and collaborative, the rest follows" > > >
I was looking for some definitions that would save us having to perpetuate this topic into its 5/6th week. I hoped to find a model. I agree, we dont want to work on helper support for anything new unless it brought a robust proven model. On 23 May 2016 at 11:58, Christophe Milard <christophe.milard@linaro.org> wrote: > I don't think we should implement this by our own. If we do somthing about > it, it would just be awrapper for some functions, I guess... > > On 23 May 2016 at 17:47, Mike Holmes <mike.holmes@linaro.org> wrote: >> >> Did a quick google on possibilities for how to implement an odp_thread, >> 99% of which we dont support , but might make an interesting project. >> >> >> >> https://software.intel.com/en-us/articles/choosing-the-right-threading-framework >> >> On 23 May 2016 at 11:34, Christophe Milard <christophe.milard@linaro.org> >> wrote: >>> >>> On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: >>> >>> > >>> > >>> > On 23 May 2016 at 17:28, Christophe Milard >>> > <christophe.milard@linaro.org> >>> > wrote: >>> > >>> >> This is for linux helpers: in odp linux, just pthreads and processes >>> >> are >>> >> supported as odpthreads.(well actually processes are not supported >>> >> yet, but >>> >> we head to it). >>> >> >>> > You can use C and C++ threads in Linux as well. You just need a >>> > conforming >>> > compiler. >>> > >>> >>> Not through the helper at this stage. When calling >>> odph_odpthread_create(), >>> the odpthread is created as either pthread (default) or forked process >>> (--odph_proc option). >>> So at this stage C and C++ threads are not supported by the helpers. >>> >>> >>> > >>> > >>> >> If we support something else in some future, we'll update the comment >>> >> then. >>> >> >>> >> Christophe >>> >> >>> >> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> >>> >> wrote: >>> >> >>> >>> >>> >>> >>> >>> On 23 May 2016 at 17:04, Christophe Milard >>> >>> <christophe.milard@linaro.org >>> >>> > wrote: >>> >>> >>> >>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >>> >>>> --- >>> >>>> helper/include/odp/helper/linux.h | 6 +++--- >>> >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>> >>>> >>> >>>> diff --git a/helper/include/odp/helper/linux.h >>> >>>> b/helper/include/odp/helper/linux.h >>> >>>> index 01c348d..2e89833 100644 >>> >>>> --- a/helper/include/odp/helper/linux.h >>> >>>> +++ b/helper/include/odp/helper/linux.h >>> >>>> @@ -73,13 +73,13 @@ typedef struct { >>> >>>> >>> >>>> /** The odpthread starting arguments, used both in process or >>> >>>> thread >>> >>>> mode */ >>> >>>> typedef struct { >>> >>>> - odph_odpthread_linuxtype_t linuxtype; >>> >>>> - odph_odpthread_params_t thr_params; /*copy of thread start >>> >>>> parameter*/ >>> >>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or >>> >>>> pthread */ >>> >>>> >>> >>> ODP threads might not be pthreads. There are many implementations of >>> >>> threads. >>> >>> Aren't we trying to tell the application if we are using a >>> >>> single-process (memory space) or multi-process model? >>> >>> Let's report this and only this. >>> >>> >>> >>> + odph_odpthread_params_t thr_params; /**< odpthread start >>> >>>> parameters */ >>> >>>> } odph_odpthread_start_args_t; >>> >>>> >>> >>>> /** Linux odpthread state information, used both in process or >>> >>>> thread >>> >>>> mode */ >>> >>>> typedef struct { >>> >>>> - odph_odpthread_start_args_t start_args; >>> >>>> + odph_odpthread_start_args_t start_args; /**< start >>> >>>> arguments */ >>> >>>> int cpu; /**< CPU ID */ >>> >>>> int last; /**< true if last >>> >>>> table >>> >>>> entry */ >>> >>>> union { >>> >>>> -- >>> >>>> 2.5.0 >>> >>>> >>> >>>> _______________________________________________ >>> >>>> lng-odp mailing list >>> >>>> lng-odp@lists.linaro.org >>> >>>> https://lists.linaro.org/mailman/listinfo/lng-odp >>> >>>> >>> >>> >>> >>> >>> >> >>> > >>> _______________________________________________ >>> lng-odp mailing list >>> lng-odp@lists.linaro.org >>> https://lists.linaro.org/mailman/listinfo/lng-odp >> >> >> >> >> -- >> Mike Holmes >> Technical Manager - Linaro Networking Group >> Linaro.org │ Open source software for ARM SoCs >> "Work should be fun and collaborative, the rest follows" >> >> >
OK. if everyone now agrees, maybe this can be marked as reviewed :-). 3 extra comments should not generate a storm, should it? It fixes a doxygen warning on the helper... Christophe. On 23 May 2016 at 18:00, Mike Holmes <mike.holmes@linaro.org> wrote: > I was looking for some definitions that would save us having to > perpetuate this topic into its 5/6th week. I hoped to find a model. > > I agree, we dont want to work on helper support for anything new > unless it brought a robust proven model. > > On 23 May 2016 at 11:58, Christophe Milard <christophe.milard@linaro.org> > wrote: > > I don't think we should implement this by our own. If we do somthing > about > > it, it would just be awrapper for some functions, I guess... > > > > On 23 May 2016 at 17:47, Mike Holmes <mike.holmes@linaro.org> wrote: > >> > >> Did a quick google on possibilities for how to implement an odp_thread, > >> 99% of which we dont support , but might make an interesting project. > >> > >> > >> > >> > https://software.intel.com/en-us/articles/choosing-the-right-threading-framework > >> > >> On 23 May 2016 at 11:34, Christophe Milard < > christophe.milard@linaro.org> > >> wrote: > >>> > >>> On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> > wrote: > >>> > >>> > > >>> > > >>> > On 23 May 2016 at 17:28, Christophe Milard > >>> > <christophe.milard@linaro.org> > >>> > wrote: > >>> > > >>> >> This is for linux helpers: in odp linux, just pthreads and processes > >>> >> are > >>> >> supported as odpthreads.(well actually processes are not supported > >>> >> yet, but > >>> >> we head to it). > >>> >> > >>> > You can use C and C++ threads in Linux as well. You just need a > >>> > conforming > >>> > compiler. > >>> > > >>> > >>> Not through the helper at this stage. When calling > >>> odph_odpthread_create(), > >>> the odpthread is created as either pthread (default) or forked process > >>> (--odph_proc option). > >>> So at this stage C and C++ threads are not supported by the helpers. > >>> > >>> > >>> > > >>> > > >>> >> If we support something else in some future, we'll update the > comment > >>> >> then. > >>> >> > >>> >> Christophe > >>> >> > >>> >> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> > >>> >> wrote: > >>> >> > >>> >>> > >>> >>> > >>> >>> On 23 May 2016 at 17:04, Christophe Milard > >>> >>> <christophe.milard@linaro.org > >>> >>> > wrote: > >>> >>> > >>> >>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> > >>> >>>> --- > >>> >>>> helper/include/odp/helper/linux.h | 6 +++--- > >>> >>>> 1 file changed, 3 insertions(+), 3 deletions(-) > >>> >>>> > >>> >>>> diff --git a/helper/include/odp/helper/linux.h > >>> >>>> b/helper/include/odp/helper/linux.h > >>> >>>> index 01c348d..2e89833 100644 > >>> >>>> --- a/helper/include/odp/helper/linux.h > >>> >>>> +++ b/helper/include/odp/helper/linux.h > >>> >>>> @@ -73,13 +73,13 @@ typedef struct { > >>> >>>> > >>> >>>> /** The odpthread starting arguments, used both in process or > >>> >>>> thread > >>> >>>> mode */ > >>> >>>> typedef struct { > >>> >>>> - odph_odpthread_linuxtype_t linuxtype; > >>> >>>> - odph_odpthread_params_t thr_params; /*copy of thread start > >>> >>>> parameter*/ > >>> >>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or > >>> >>>> pthread */ > >>> >>>> > >>> >>> ODP threads might not be pthreads. There are many implementations > of > >>> >>> threads. > >>> >>> Aren't we trying to tell the application if we are using a > >>> >>> single-process (memory space) or multi-process model? > >>> >>> Let's report this and only this. > >>> >>> > >>> >>> + odph_odpthread_params_t thr_params; /**< odpthread start > >>> >>>> parameters */ > >>> >>>> } odph_odpthread_start_args_t; > >>> >>>> > >>> >>>> /** Linux odpthread state information, used both in process or > >>> >>>> thread > >>> >>>> mode */ > >>> >>>> typedef struct { > >>> >>>> - odph_odpthread_start_args_t start_args; > >>> >>>> + odph_odpthread_start_args_t start_args; /**< start > >>> >>>> arguments */ > >>> >>>> int cpu; /**< CPU ID */ > >>> >>>> int last; /**< true if last > >>> >>>> table > >>> >>>> entry */ > >>> >>>> union { > >>> >>>> -- > >>> >>>> 2.5.0 > >>> >>>> > >>> >>>> _______________________________________________ > >>> >>>> lng-odp mailing list > >>> >>>> lng-odp@lists.linaro.org > >>> >>>> https://lists.linaro.org/mailman/listinfo/lng-odp > >>> >>>> > >>> >>> > >>> >>> > >>> >> > >>> > > >>> _______________________________________________ > >>> lng-odp mailing list > >>> lng-odp@lists.linaro.org > >>> https://lists.linaro.org/mailman/listinfo/lng-odp > >> > >> > >> > >> > >> -- > >> Mike Holmes > >> Technical Manager - Linaro Networking Group > >> Linaro.org │ Open source software for ARM SoCs > >> "Work should be fun and collaborative, the rest follows" > >> > >> > > > > > > -- > Mike Holmes > Technical Manager - Linaro Networking Group > Linaro.org │ Open source software for ARM SoCs > "Work should be fun and collaborative, the rest follows" >
And on the top of this , I intend to write a patch to simplify this interface, so hopefully this will become obsolete soon :-) On 23 May 2016 at 18:31, Christophe Milard <christophe.milard@linaro.org> wrote: > OK. if everyone now agrees, maybe this can be marked as reviewed :-). 3 > extra comments should not generate a storm, should it? It fixes a doxygen > warning on the helper... > > Christophe. > > On 23 May 2016 at 18:00, Mike Holmes <mike.holmes@linaro.org> wrote: > >> I was looking for some definitions that would save us having to >> perpetuate this topic into its 5/6th week. I hoped to find a model. >> >> I agree, we dont want to work on helper support for anything new >> unless it brought a robust proven model. >> >> On 23 May 2016 at 11:58, Christophe Milard <christophe.milard@linaro.org> >> wrote: >> > I don't think we should implement this by our own. If we do somthing >> about >> > it, it would just be awrapper for some functions, I guess... >> > >> > On 23 May 2016 at 17:47, Mike Holmes <mike.holmes@linaro.org> wrote: >> >> >> >> Did a quick google on possibilities for how to implement an odp_thread, >> >> 99% of which we dont support , but might make an interesting project. >> >> >> >> >> >> >> >> >> https://software.intel.com/en-us/articles/choosing-the-right-threading-framework >> >> >> >> On 23 May 2016 at 11:34, Christophe Milard < >> christophe.milard@linaro.org> >> >> wrote: >> >>> >> >>> On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> >> wrote: >> >>> >> >>> > >> >>> > >> >>> > On 23 May 2016 at 17:28, Christophe Milard >> >>> > <christophe.milard@linaro.org> >> >>> > wrote: >> >>> > >> >>> >> This is for linux helpers: in odp linux, just pthreads and >> processes >> >>> >> are >> >>> >> supported as odpthreads.(well actually processes are not supported >> >>> >> yet, but >> >>> >> we head to it). >> >>> >> >> >>> > You can use C and C++ threads in Linux as well. You just need a >> >>> > conforming >> >>> > compiler. >> >>> > >> >>> >> >>> Not through the helper at this stage. When calling >> >>> odph_odpthread_create(), >> >>> the odpthread is created as either pthread (default) or forked process >> >>> (--odph_proc option). >> >>> So at this stage C and C++ threads are not supported by the helpers. >> >>> >> >>> >> >>> > >> >>> > >> >>> >> If we support something else in some future, we'll update the >> comment >> >>> >> then. >> >>> >> >> >>> >> Christophe >> >>> >> >> >>> >> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> >> >>> >> wrote: >> >>> >> >> >>> >>> >> >>> >>> >> >>> >>> On 23 May 2016 at 17:04, Christophe Milard >> >>> >>> <christophe.milard@linaro.org >> >>> >>> > wrote: >> >>> >>> >> >>> >>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >> >>> >>>> --- >> >>> >>>> helper/include/odp/helper/linux.h | 6 +++--- >> >>> >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >> >>> >>>> >> >>> >>>> diff --git a/helper/include/odp/helper/linux.h >> >>> >>>> b/helper/include/odp/helper/linux.h >> >>> >>>> index 01c348d..2e89833 100644 >> >>> >>>> --- a/helper/include/odp/helper/linux.h >> >>> >>>> +++ b/helper/include/odp/helper/linux.h >> >>> >>>> @@ -73,13 +73,13 @@ typedef struct { >> >>> >>>> >> >>> >>>> /** The odpthread starting arguments, used both in process or >> >>> >>>> thread >> >>> >>>> mode */ >> >>> >>>> typedef struct { >> >>> >>>> - odph_odpthread_linuxtype_t linuxtype; >> >>> >>>> - odph_odpthread_params_t thr_params; /*copy of thread >> start >> >>> >>>> parameter*/ >> >>> >>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or >> >>> >>>> pthread */ >> >>> >>>> >> >>> >>> ODP threads might not be pthreads. There are many implementations >> of >> >>> >>> threads. >> >>> >>> Aren't we trying to tell the application if we are using a >> >>> >>> single-process (memory space) or multi-process model? >> >>> >>> Let's report this and only this. >> >>> >>> >> >>> >>> + odph_odpthread_params_t thr_params; /**< odpthread start >> >>> >>>> parameters */ >> >>> >>>> } odph_odpthread_start_args_t; >> >>> >>>> >> >>> >>>> /** Linux odpthread state information, used both in process or >> >>> >>>> thread >> >>> >>>> mode */ >> >>> >>>> typedef struct { >> >>> >>>> - odph_odpthread_start_args_t start_args; >> >>> >>>> + odph_odpthread_start_args_t start_args; /**< start >> >>> >>>> arguments */ >> >>> >>>> int cpu; /**< CPU ID */ >> >>> >>>> int last; /**< true if last >> >>> >>>> table >> >>> >>>> entry */ >> >>> >>>> union { >> >>> >>>> -- >> >>> >>>> 2.5.0 >> >>> >>>> >> >>> >>>> _______________________________________________ >> >>> >>>> lng-odp mailing list >> >>> >>>> lng-odp@lists.linaro.org >> >>> >>>> https://lists.linaro.org/mailman/listinfo/lng-odp >> >>> >>>> >> >>> >>> >> >>> >>> >> >>> >> >> >>> > >> >>> _______________________________________________ >> >>> lng-odp mailing list >> >>> lng-odp@lists.linaro.org >> >>> https://lists.linaro.org/mailman/listinfo/lng-odp >> >> >> >> >> >> >> >> >> >> -- >> >> Mike Holmes >> >> Technical Manager - Linaro Networking Group >> >> Linaro.org │ Open source software for ARM SoCs >> >> "Work should be fun and collaborative, the rest follows" >> >> >> >> >> > >> >> >> >> -- >> Mike Holmes >> Technical Manager - Linaro Networking Group >> Linaro.org │ Open source software for ARM SoCs >> "Work should be fun and collaborative, the rest follows" >> > >
looks like everybody agree. Merged. Maxim. On 05/23/16 19:37, Christophe Milard wrote: > And on the top of this , I intend to write a patch to simplify this > interface, so hopefully this will become obsolete soon :-) > > On 23 May 2016 at 18:31, Christophe Milard <christophe.milard@linaro.org> > wrote: > >> OK. if everyone now agrees, maybe this can be marked as reviewed :-). 3 >> extra comments should not generate a storm, should it? It fixes a doxygen >> warning on the helper... >> >> Christophe. >> >> On 23 May 2016 at 18:00, Mike Holmes <mike.holmes@linaro.org> wrote: >> >>> I was looking for some definitions that would save us having to >>> perpetuate this topic into its 5/6th week. I hoped to find a model. >>> >>> I agree, we dont want to work on helper support for anything new >>> unless it brought a robust proven model. >>> >>> On 23 May 2016 at 11:58, Christophe Milard <christophe.milard@linaro.org> >>> wrote: >>>> I don't think we should implement this by our own. If we do somthing >>> about >>>> it, it would just be awrapper for some functions, I guess... >>>> >>>> On 23 May 2016 at 17:47, Mike Holmes <mike.holmes@linaro.org> wrote: >>>>> Did a quick google on possibilities for how to implement an odp_thread, >>>>> 99% of which we dont support , but might make an interesting project. >>>>> >>>>> >>>>> >>>>> >>> https://software.intel.com/en-us/articles/choosing-the-right-threading-framework >>>>> On 23 May 2016 at 11:34, Christophe Milard < >>> christophe.milard@linaro.org> >>>>> wrote: >>>>>> On 23 May 2016 at 17:31, Ola Liljedahl <ola.liljedahl@linaro.org> >>> wrote: >>>>>>> >>>>>>> On 23 May 2016 at 17:28, Christophe Milard >>>>>>> <christophe.milard@linaro.org> >>>>>>> wrote: >>>>>>> >>>>>>>> This is for linux helpers: in odp linux, just pthreads and >>> processes >>>>>>>> are >>>>>>>> supported as odpthreads.(well actually processes are not supported >>>>>>>> yet, but >>>>>>>> we head to it). >>>>>>>> >>>>>>> You can use C and C++ threads in Linux as well. You just need a >>>>>>> conforming >>>>>>> compiler. >>>>>>> >>>>>> Not through the helper at this stage. When calling >>>>>> odph_odpthread_create(), >>>>>> the odpthread is created as either pthread (default) or forked process >>>>>> (--odph_proc option). >>>>>> So at this stage C and C++ threads are not supported by the helpers. >>>>>> >>>>>> >>>>>>> >>>>>>>> If we support something else in some future, we'll update the >>> comment >>>>>>>> then. >>>>>>>> >>>>>>>> Christophe >>>>>>>> >>>>>>>> On 23 May 2016 at 17:23, Ola Liljedahl <ola.liljedahl@linaro.org> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> On 23 May 2016 at 17:04, Christophe Milard >>>>>>>>> <christophe.milard@linaro.org >>>>>>>>>> wrote: >>>>>>>>>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org> >>>>>>>>>> --- >>>>>>>>>> helper/include/odp/helper/linux.h | 6 +++--- >>>>>>>>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>>>>>>>> >>>>>>>>>> diff --git a/helper/include/odp/helper/linux.h >>>>>>>>>> b/helper/include/odp/helper/linux.h >>>>>>>>>> index 01c348d..2e89833 100644 >>>>>>>>>> --- a/helper/include/odp/helper/linux.h >>>>>>>>>> +++ b/helper/include/odp/helper/linux.h >>>>>>>>>> @@ -73,13 +73,13 @@ typedef struct { >>>>>>>>>> >>>>>>>>>> /** The odpthread starting arguments, used both in process or >>>>>>>>>> thread >>>>>>>>>> mode */ >>>>>>>>>> typedef struct { >>>>>>>>>> - odph_odpthread_linuxtype_t linuxtype; >>>>>>>>>> - odph_odpthread_params_t thr_params; /*copy of thread >>> start >>>>>>>>>> parameter*/ >>>>>>>>>> + odph_odpthread_linuxtype_t linuxtype; /**< process or >>>>>>>>>> pthread */ >>>>>>>>>> >>>>>>>>> ODP threads might not be pthreads. There are many implementations >>> of >>>>>>>>> threads. >>>>>>>>> Aren't we trying to tell the application if we are using a >>>>>>>>> single-process (memory space) or multi-process model? >>>>>>>>> Let's report this and only this. >>>>>>>>> >>>>>>>>> + odph_odpthread_params_t thr_params; /**< odpthread start >>>>>>>>>> parameters */ >>>>>>>>>> } odph_odpthread_start_args_t; >>>>>>>>>> >>>>>>>>>> /** Linux odpthread state information, used both in process or >>>>>>>>>> thread >>>>>>>>>> mode */ >>>>>>>>>> typedef struct { >>>>>>>>>> - odph_odpthread_start_args_t start_args; >>>>>>>>>> + odph_odpthread_start_args_t start_args; /**< start >>>>>>>>>> arguments */ >>>>>>>>>> int cpu; /**< CPU ID */ >>>>>>>>>> int last; /**< true if last >>>>>>>>>> table >>>>>>>>>> entry */ >>>>>>>>>> union { >>>>>>>>>> -- >>>>>>>>>> 2.5.0 >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> lng-odp mailing list >>>>>>>>>> lng-odp@lists.linaro.org >>>>>>>>>> https://lists.linaro.org/mailman/listinfo/lng-odp >>>>>>>>>> >>>>>>>>> >>>>>> _______________________________________________ >>>>>> lng-odp mailing list >>>>>> lng-odp@lists.linaro.org >>>>>> https://lists.linaro.org/mailman/listinfo/lng-odp >>>>> >>>>> >>>>> >>>>> -- >>>>> Mike Holmes >>>>> Technical Manager - Linaro Networking Group >>>>> Linaro.org │ Open source software for ARM SoCs >>>>> "Work should be fun and collaborative, the rest follows" >>>>> >>>>> >>> >>> >>> -- >>> Mike Holmes >>> Technical Manager - Linaro Networking Group >>> Linaro.org │ Open source software for ARM SoCs >>> "Work should be fun and collaborative, the rest follows" >>> >> > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp
diff --git a/helper/include/odp/helper/linux.h b/helper/include/odp/helper/linux.h index 01c348d..2e89833 100644 --- a/helper/include/odp/helper/linux.h +++ b/helper/include/odp/helper/linux.h @@ -73,13 +73,13 @@ typedef struct { /** The odpthread starting arguments, used both in process or thread mode */ typedef struct { - odph_odpthread_linuxtype_t linuxtype; - odph_odpthread_params_t thr_params; /*copy of thread start parameter*/ + odph_odpthread_linuxtype_t linuxtype; /**< process or pthread */ + odph_odpthread_params_t thr_params; /**< odpthread start parameters */ } odph_odpthread_start_args_t; /** Linux odpthread state information, used both in process or thread mode */ typedef struct { - odph_odpthread_start_args_t start_args; + odph_odpthread_start_args_t start_args; /**< start arguments */ int cpu; /**< CPU ID */ int last; /**< true if last table entry */ union {
Signed-off-by: Christophe Milard <christophe.milard@linaro.org> --- helper/include/odp/helper/linux.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)