Re: [lng-odp] Move Typedefs to a new Header File

2014-11-01 Thread Bala Manoharan
Hi,

In the Current ODP design, we are having the typedef for different handles
defined in the same header file.
This causes a circular dependency between odp_buffer.h and
odp_buffer_pool.h file as the buffer API uses pool handle and pool API uses
buffer Handle.
We would like to avoid this circular dependency by having all the handles
defined in a separate file odp_typedefs.h file.
The application user will not have any impact as the application includes
odp.h file.

Regards,
Bala

On 31 October 2014 19:08, Mike Holmes mike.hol...@linaro.org wrote:

 Bala

 What exactly was the problem we were solving ?  I forget why we needed
 this.

 Mike

 On 31 October 2014 08:05, Bill Fischofer bill.fischo...@linaro.org
 wrote:

 Adding the ODP mailing list since this should be a topic of general
 interest.

 Now that we have separate repositories for each implementation what we'd
 ideally like is the following.

- The API definitions are in .h files in odp.git.  These are the
function prototypes for all of the public ODP APIs. They reference 
 typedefs
for ODP APIs but do not define them.


- Each platform has an odp_api_typedefs.h that defines these typedefs
for that platform.


- What applications #include is a file (odp.h) that includes the
platform-specific odp_api_typedefs.h and the ODP APIs so they compile with
a version of the prototypes typedef'd appropriate to the platform

 Is there a clean way to achieve this and still permit efficient inlining?



 On Fri, Oct 31, 2014 at 2:08 AM, Bala Manoharan 
 bala.manoha...@linaro.org wrote:

 Hi Anders,

 Yesterday in Scheduler meeting we had a discussion regarding moving
 typedefs in ODP API files into a separate file.

 Taras mentioned that you had previously spent some time on the same.
 Can you please update if you have some patch regarding the same.

 Regards,
 Bala





 --
 *Mike Holmes*
 Linaro  Sr Technical Manager
 LNG - ODP

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


Re: [lng-odp] Move Typedefs to a new Header File

2014-11-01 Thread Bill Fischofer
In the case of odp_buffer.h and odp_buffer_pool.h I'm not sure why it
wouldn't make sense to combine these into one file since they are so
closely related.

We have APIs in odp_buffer.h that take odp_buffer_pool_t arguments (e.g.,
odp_buffer_copy) and return odp_buffer_pool_t results (odp_buffer_pool(),
though today we avoid the circularity by putting this *buffer* accessor
function into odp_buffer_pool.h).   We also have APIs in odp_buffer_pool.h
that similarly take odp_buffer_t arguments (odp_buffer_free()) and return
odp_buffer_t values (odp_buffer_alloc()).

It seems that it would make more sense to have a single file for these
related routines rather than separate files as another way of avoiding
circularity.  I suggest dropping odp_buffer_pool.h and just having
odp_buffer.h cover all of these (similar to how the Buffer Management
design doc covers both).

Bill

On Sat, Nov 1, 2014 at 2:47 AM, Bala Manoharan bala.manoha...@linaro.org
wrote:

 Hi,

 In the Current ODP design, we are having the typedef for different handles
 defined in the same header file.
 This causes a circular dependency between odp_buffer.h and
 odp_buffer_pool.h file as the buffer API uses pool handle and pool API uses
 buffer Handle.
 We would like to avoid this circular dependency by having all the handles
 defined in a separate file odp_typedefs.h file.
 The application user will not have any impact as the application includes
 odp.h file.

 Regards,
 Bala

 On 31 October 2014 19:08, Mike Holmes mike.hol...@linaro.org wrote:

 Bala

 What exactly was the problem we were solving ?  I forget why we needed
 this.

 Mike

 On 31 October 2014 08:05, Bill Fischofer bill.fischo...@linaro.org
 wrote:

 Adding the ODP mailing list since this should be a topic of general
 interest.

 Now that we have separate repositories for each implementation what we'd
 ideally like is the following.

- The API definitions are in .h files in odp.git.  These are the
function prototypes for all of the public ODP APIs. They reference 
 typedefs
for ODP APIs but do not define them.


- Each platform has an odp_api_typedefs.h that defines these
typedefs for that platform.


- What applications #include is a file (odp.h) that includes the
platform-specific odp_api_typedefs.h and the ODP APIs so they compile 
 with
a version of the prototypes typedef'd appropriate to the platform

 Is there a clean way to achieve this and still permit efficient inlining?



 On Fri, Oct 31, 2014 at 2:08 AM, Bala Manoharan 
 bala.manoha...@linaro.org wrote:

 Hi Anders,

 Yesterday in Scheduler meeting we had a discussion regarding moving
 typedefs in ODP API files into a separate file.

 Taras mentioned that you had previously spent some time on the same.
 Can you please update if you have some patch regarding the same.

 Regards,
 Bala





 --
 *Mike Holmes*
 Linaro  Sr Technical Manager
 LNG - ODP



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


Re: [lng-odp] Move Typedefs to a new Header File

2014-11-01 Thread Bill Fischofer
BTW, Bala, In looking at the implementation of these routines I've put the
bulk of the info from the design doc into the .h file itself and it seems
to be formatting well.  To avoid duplication of effort, I suggest you focus
on the classification implementation and let's sync up next week on
finalizing buffers.  I should have a patch to circulate by Monday that
integrates the doc with the prototypes.

Bill

On Sat, Nov 1, 2014 at 7:46 AM, Bill Fischofer bill.fischo...@linaro.org
wrote:

 In the case of odp_buffer.h and odp_buffer_pool.h I'm not sure why it
 wouldn't make sense to combine these into one file since they are so
 closely related.

 We have APIs in odp_buffer.h that take odp_buffer_pool_t arguments (e.g.,
 odp_buffer_copy) and return odp_buffer_pool_t results (odp_buffer_pool(),
 though today we avoid the circularity by putting this *buffer* accessor
 function into odp_buffer_pool.h).   We also have APIs in odp_buffer_pool.h
 that similarly take odp_buffer_t arguments (odp_buffer_free()) and return
 odp_buffer_t values (odp_buffer_alloc()).

 It seems that it would make more sense to have a single file for these
 related routines rather than separate files as another way of avoiding
 circularity.  I suggest dropping odp_buffer_pool.h and just having
 odp_buffer.h cover all of these (similar to how the Buffer Management
 design doc covers both).

 Bill

 On Sat, Nov 1, 2014 at 2:47 AM, Bala Manoharan bala.manoha...@linaro.org
 wrote:

 Hi,

 In the Current ODP design, we are having the typedef for different
 handles defined in the same header file.
 This causes a circular dependency between odp_buffer.h and
 odp_buffer_pool.h file as the buffer API uses pool handle and pool API uses
 buffer Handle.
 We would like to avoid this circular dependency by having all the handles
 defined in a separate file odp_typedefs.h file.
 The application user will not have any impact as the application includes
 odp.h file.

 Regards,
 Bala

 On 31 October 2014 19:08, Mike Holmes mike.hol...@linaro.org wrote:

 Bala

 What exactly was the problem we were solving ?  I forget why we needed
 this.

 Mike

 On 31 October 2014 08:05, Bill Fischofer bill.fischo...@linaro.org
 wrote:

 Adding the ODP mailing list since this should be a topic of general
 interest.

 Now that we have separate repositories for each implementation what
 we'd ideally like is the following.

- The API definitions are in .h files in odp.git.  These are the
function prototypes for all of the public ODP APIs. They reference 
 typedefs
for ODP APIs but do not define them.


- Each platform has an odp_api_typedefs.h that defines these
typedefs for that platform.


- What applications #include is a file (odp.h) that includes the
platform-specific odp_api_typedefs.h and the ODP APIs so they compile 
 with
a version of the prototypes typedef'd appropriate to the platform

 Is there a clean way to achieve this and still permit efficient
 inlining?



 On Fri, Oct 31, 2014 at 2:08 AM, Bala Manoharan 
 bala.manoha...@linaro.org wrote:

 Hi Anders,

 Yesterday in Scheduler meeting we had a discussion regarding moving
 typedefs in ODP API files into a separate file.

 Taras mentioned that you had previously spent some time on the same.
 Can you please update if you have some patch regarding the same.

 Regards,
 Bala





 --
 *Mike Holmes*
 Linaro  Sr Technical Manager
 LNG - ODP




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


Re: [lng-odp] Move Typedefs to a new Header File

2014-10-31 Thread Bill Fischofer
Adding the ODP mailing list since this should be a topic of general
interest.

Now that we have separate repositories for each implementation what we'd
ideally like is the following.

   - The API definitions are in .h files in odp.git.  These are the
   function prototypes for all of the public ODP APIs. They reference typedefs
   for ODP APIs but do not define them.


   - Each platform has an odp_api_typedefs.h that defines these typedefs
   for that platform.


   - What applications #include is a file (odp.h) that includes the
   platform-specific odp_api_typedefs.h and the ODP APIs so they compile with
   a version of the prototypes typedef'd appropriate to the platform

Is there a clean way to achieve this and still permit efficient inlining?



On Fri, Oct 31, 2014 at 2:08 AM, Bala Manoharan bala.manoha...@linaro.org
wrote:

 Hi Anders,

 Yesterday in Scheduler meeting we had a discussion regarding moving
 typedefs in ODP API files into a separate file.

 Taras mentioned that you had previously spent some time on the same.
 Can you please update if you have some patch regarding the same.

 Regards,
 Bala

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