Re: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more precisely

2016-02-18 Thread Christophe Milard
I am willing to put the following definitions:
ODP instantiation process::

The process calling +odp_init_global()+, which is probably the

first process which is started when an ODP application is started.

There is one single such process per ODP instantiation.

ODP thread::

An ODP thread is a flow of execution that belongs to ODP.

Any process or thread descendant of an ODP instantiation process and

calling +odp_init_local()+ becomes an ODP thread of that instance.

Note that, in a Linux environment an ODP thread can be either a Linux

process or a linux thread (i.e a linux process calling
+odp_init_local()+
will be refered as ODP thread, not ODP process).

If this is not correct... what should it be  :-)

Christophe.

On 18 February 2016 at 10:29, Christophe Milard <
christophe.mil...@linaro.org> wrote:

>
>
> On 18 February 2016 at 09:50, Savolainen, Petri (Nokia - FI/Espoo) <
> petri.savolai...@nokia.com> wrote:
>
>>
>>
>>
>>
>> *From:* EXT Christophe Milard [mailto:christophe.mil...@linaro.org]
>> *Sent:* Thursday, February 18, 2016 10:40 AM
>> *To:* Savolainen, Petri (Nokia - FI/Espoo) <petri.savolai...@nokia.com>
>> *Cc:* mike.hol...@linaro.org; bill.fischo...@linaro.org;
>> lng-odp@lists.linaro.org
>> *Subject:* Re: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP
>> thread more precisely
>>
>>
>>
>>
>>
>>
>>
>> On 18 February 2016 at 09:27, Savolainen, Petri (Nokia - FI/Espoo) <
>> petri.savolai...@nokia.com> wrote:
>>
>>
>>
>> > -Original Message-
>> > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of
>> EXT
>> > Christophe Milard
>> > Sent: Thursday, February 18, 2016 10:07 AM
>> > To: mike.hol...@linaro.org; bill.fischo...@linaro.org
>> > Cc: lng-odp@lists.linaro.org
>> > Subject: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more
>> > precisely
>> >
>> > Signed-off-by: Christophe Milard <christophe.mil...@linaro.org>
>> > Reviewed-and-tested-by: Bill Fischofer <bill.fischo...@linaro.org>
>> > ---
>> >  doc/glossary.adoc | 12 ++--
>> >  1 file changed, 10 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/doc/glossary.adoc b/doc/glossary.adoc
>> > index 8e514ee..becaf16 100644
>> > --- a/doc/glossary.adoc
>> > +++ b/doc/glossary.adoc
>> > @@ -9,9 +9,17 @@ control thread::
>> >  A control thread is a type of ODP thread. It will be isolated from
>> > the host
>> >  operating system house keeping tasks but will be scheduled by it
>> and
>> > may
>> >  receive interrupts.
>> > +ODP instantiation process::
>> > +The first process which is started when an ODP application is
>> > started.
>> > +There is one single such process per ODP instantiation.
>>
>> This is the one that called odp_init_global(). There can be only one
>> global init per instance.
>>
>>
>> >  thread::
>> > -An ODP thread is a flow of execution that in a Linux environment
>> > could be
>> > -a Linux process or thread.
>> > +the word thread (without any further specification) refers to an
>> ODP
>> > +thread.
>> > +ODP thread::
>> > +An ODP thread is a flow of execution that belongs to ODP. In a
>> Linux
>> > +environment an ODP thread can be either a Linux process or a linux
>> > thread.
>> > +In both cases, a linux process (or thread) is said to be an ODP
>> > thread if
>> > +its PID is a descendant of the ODP instantiation process.
>>
>>
>> An implementation could also support other than child processes joining
>> an instance, so this definition is too narrow. We'll need to add an ODP
>> instance ID param into local init, but other than that, its implementation
>> specific how ODP threads join an ODP instance (not always parent -> child
>> connection). Also, can the instantiation process exit ODP? On some
>> implementation it could and the instance terminates when the last ODP
>> thread exits it.
>>
>>
>> So in general terms ODP thread in Linux: any pthread or process that is
>> running as part of an ODP instance (have called odp_init_local()).
>>
>>
>>
>> Thanks for your comments, Petri:
>>
>> I understand your point, I was no really sure my definition was the best,
>> but is was the best Gary and me could find.
>>
>> Now, you say : &

Re: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more precisely

2016-02-18 Thread Christophe Milard
On 18 February 2016 at 09:50, Savolainen, Petri (Nokia - FI/Espoo) <
petri.savolai...@nokia.com> wrote:

>
>
>
>
> *From:* EXT Christophe Milard [mailto:christophe.mil...@linaro.org]
> *Sent:* Thursday, February 18, 2016 10:40 AM
> *To:* Savolainen, Petri (Nokia - FI/Espoo) <petri.savolai...@nokia.com>
> *Cc:* mike.hol...@linaro.org; bill.fischo...@linaro.org;
> lng-odp@lists.linaro.org
> *Subject:* Re: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread
> more precisely
>
>
>
>
>
>
>
> On 18 February 2016 at 09:27, Savolainen, Petri (Nokia - FI/Espoo) <
> petri.savolai...@nokia.com> wrote:
>
>
>
> > -Original Message-
> > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of EXT
> > Christophe Milard
> > Sent: Thursday, February 18, 2016 10:07 AM
> > To: mike.hol...@linaro.org; bill.fischo...@linaro.org
> > Cc: lng-odp@lists.linaro.org
> > Subject: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more
> > precisely
> >
> > Signed-off-by: Christophe Milard <christophe.mil...@linaro.org>
> > Reviewed-and-tested-by: Bill Fischofer <bill.fischo...@linaro.org>
> > ---
> >  doc/glossary.adoc | 12 ++--
> >  1 file changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/doc/glossary.adoc b/doc/glossary.adoc
> > index 8e514ee..becaf16 100644
> > --- a/doc/glossary.adoc
> > +++ b/doc/glossary.adoc
> > @@ -9,9 +9,17 @@ control thread::
> >  A control thread is a type of ODP thread. It will be isolated from
> > the host
> >  operating system house keeping tasks but will be scheduled by it and
> > may
> >  receive interrupts.
> > +ODP instantiation process::
> > +The first process which is started when an ODP application is
> > started.
> > +There is one single such process per ODP instantiation.
>
> This is the one that called odp_init_global(). There can be only one
> global init per instance.
>
>
> >  thread::
> > -An ODP thread is a flow of execution that in a Linux environment
> > could be
> > -a Linux process or thread.
> > +the word thread (without any further specification) refers to an ODP
> > +thread.
> > +ODP thread::
> > +An ODP thread is a flow of execution that belongs to ODP. In a Linux
> > +environment an ODP thread can be either a Linux process or a linux
> > thread.
> > +In both cases, a linux process (or thread) is said to be an ODP
> > thread if
> > +its PID is a descendant of the ODP instantiation process.
>
>
> An implementation could also support other than child processes joining an
> instance, so this definition is too narrow. We'll need to add an ODP
> instance ID param into local init, but other than that, its implementation
> specific how ODP threads join an ODP instance (not always parent -> child
> connection). Also, can the instantiation process exit ODP? On some
> implementation it could and the instance terminates when the last ODP
> thread exits it.
>
>
> So in general terms ODP thread in Linux: any pthread or process that is
> running as part of an ODP instance (have called odp_init_local()).
>
>
>
> Thanks for your comments, Petri:
>
> I understand your point, I was no really sure my definition was the best,
> but is was the best Gary and me could find.
>
> Now, you say : " So in general terms ODP thread in Linux: any pthread or
> process that is running as part of an ODP instance (have called
> odp_init_local())."
>
> Why do you limit that definition to linux?
>
>
>
> Can we simply write that the instantiation thread is the one calling
> ODP_init_global and ODP threads are those calling ODP_init_local. On any
> implementation? If not what is the definition of an ODP thread?
> (independentely of the ODP implemetation)
>
>
>
> Yes, that’s basically the definition. A call to init_global creates an
> instance and a call to init_local joins the calling thread into that
> instance.
>
>
>
> Linux is so common platform that it’s good to use that as an example and
> explicitly state that both pthreads and processes can be “ODP threads”.
>
>
>
> -Petri
>
>
>
>
>
>
>
> Christophe
>
>
>
> -Petri
>
>
>
 But can we ignore totally the notion of descendance in this definition?
you wrote: "An implementation could also support other than child processes
joining an instance, so this definition is too narrow.".
Now, if we have 2 (ore more) instances of ODP running in the same machine,
and a foreign process (also linked with ODP lib, I assume, but not child of
the instantiation process) calls odp_init_local()... What instance of ODP
does this process join?

Christophe.

>
>
___
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp


Re: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more precisely

2016-02-18 Thread Savolainen, Petri (Nokia - FI/Espoo)


From: EXT Christophe Milard [mailto:christophe.mil...@linaro.org]
Sent: Thursday, February 18, 2016 10:40 AM
To: Savolainen, Petri (Nokia - FI/Espoo) <petri.savolai...@nokia.com>
Cc: mike.hol...@linaro.org; bill.fischo...@linaro.org; lng-odp@lists.linaro.org
Subject: Re: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more 
precisely



On 18 February 2016 at 09:27, Savolainen, Petri (Nokia - FI/Espoo) 
<petri.savolai...@nokia.com<mailto:petri.savolai...@nokia.com>> wrote:


> -Original Message-
> From: lng-odp 
> [mailto:lng-odp-boun...@lists.linaro.org<mailto:lng-odp-boun...@lists.linaro.org>]
>  On Behalf Of EXT
> Christophe Milard
> Sent: Thursday, February 18, 2016 10:07 AM
> To: mike.hol...@linaro.org<mailto:mike.hol...@linaro.org>; 
> bill.fischo...@linaro.org<mailto:bill.fischo...@linaro.org>
> Cc: lng-odp@lists.linaro.org<mailto:lng-odp@lists.linaro.org>
> Subject: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more
> precisely
>
> Signed-off-by: Christophe Milard 
> <christophe.mil...@linaro.org<mailto:christophe.mil...@linaro.org>>
> Reviewed-and-tested-by: Bill Fischofer 
> <bill.fischo...@linaro.org<mailto:bill.fischo...@linaro.org>>
> ---
>  doc/glossary.adoc | 12 ++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/doc/glossary.adoc b/doc/glossary.adoc
> index 8e514ee..becaf16 100644
> --- a/doc/glossary.adoc
> +++ b/doc/glossary.adoc
> @@ -9,9 +9,17 @@ control thread::
>  A control thread is a type of ODP thread. It will be isolated from
> the host
>  operating system house keeping tasks but will be scheduled by it and
> may
>  receive interrupts.
> +ODP instantiation process::
> +The first process which is started when an ODP application is
> started.
> +There is one single such process per ODP instantiation.

This is the one that called odp_init_global(). There can be only one global 
init per instance.


>  thread::
> -An ODP thread is a flow of execution that in a Linux environment
> could be
> -a Linux process or thread.
> +the word thread (without any further specification) refers to an ODP
> +thread.
> +ODP thread::
> +An ODP thread is a flow of execution that belongs to ODP. In a Linux
> +environment an ODP thread can be either a Linux process or a linux
> thread.
> +In both cases, a linux process (or thread) is said to be an ODP
> thread if
> +its PID is a descendant of the ODP instantiation process.


An implementation could also support other than child processes joining an 
instance, so this definition is too narrow. We'll need to add an ODP instance 
ID param into local init, but other than that, its implementation specific how 
ODP threads join an ODP instance (not always parent -> child connection). Also, 
can the instantiation process exit ODP? On some implementation it could and the 
instance terminates when the last ODP thread exits it.


So in general terms ODP thread in Linux: any pthread or process that is running 
as part of an ODP instance (have called odp_init_local()).

Thanks for your comments, Petri:
I understand your point, I was no really sure my definition was the best, but 
is was the best Gary and me could find.
Now, you say : " So in general terms ODP thread in Linux: any pthread or 
process that is running as part of an ODP instance (have called 
odp_init_local())."
Why do you limit that definition to linux?

Can we simply write that the instantiation thread is the one calling 
ODP_init_global and ODP threads are those calling ODP_init_local. On any 
implementation? If not what is the definition of an ODP thread? (independentely 
of the ODP implemetation)

Yes, that’s basically the definition. A call to init_global creates an instance 
and a call to init_local joins the calling thread into that instance.

Linux is so common platform that it’s good to use that as an example and 
explicitly state that both pthreads and processes can be “ODP threads”.

-Petri



Christophe


-Petri

___
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp


Re: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more precisely

2016-02-18 Thread Savolainen, Petri (Nokia - FI/Espoo)


> -Original Message-
> From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of EXT
> Christophe Milard
> Sent: Thursday, February 18, 2016 10:07 AM
> To: mike.hol...@linaro.org; bill.fischo...@linaro.org
> Cc: lng-odp@lists.linaro.org
> Subject: [lng-odp] [PATCHv2 1/4] doc: glossary: defining ODP thread more
> precisely
> 
> Signed-off-by: Christophe Milard 
> Reviewed-and-tested-by: Bill Fischofer 
> ---
>  doc/glossary.adoc | 12 ++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/doc/glossary.adoc b/doc/glossary.adoc
> index 8e514ee..becaf16 100644
> --- a/doc/glossary.adoc
> +++ b/doc/glossary.adoc
> @@ -9,9 +9,17 @@ control thread::
>  A control thread is a type of ODP thread. It will be isolated from
> the host
>  operating system house keeping tasks but will be scheduled by it and
> may
>  receive interrupts.
> +ODP instantiation process::
> +The first process which is started when an ODP application is
> started.
> +There is one single such process per ODP instantiation.


This is the one that called odp_init_global(). There can be only one global 
init per instance.


>  thread::
> -An ODP thread is a flow of execution that in a Linux environment
> could be
> -a Linux process or thread.
> +the word thread (without any further specification) refers to an ODP
> +thread.
> +ODP thread::
> +An ODP thread is a flow of execution that belongs to ODP. In a Linux
> +environment an ODP thread can be either a Linux process or a linux
> thread.
> +In both cases, a linux process (or thread) is said to be an ODP
> thread if
> +its PID is a descendant of the ODP instantiation process.


An implementation could also support other than child processes joining an 
instance, so this definition is too narrow. We'll need to add an ODP instance 
ID param into local init, but other than that, its implementation specific how 
ODP threads join an ODP instance (not always parent -> child connection). Also, 
can the instantiation process exit ODP? On some implementation it could and the 
instance terminates when the last ODP thread exits it.


So in general terms ODP thread in Linux: any pthread or process that is running 
as part of an ODP instance (have called odp_init_local()). 


-Petri

___
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp