On Mon, Oct 17, 2016 at 9:21 AM, Maxim Uvarov <[email protected]> wrote:
> by 'some' I mean mask of numa nodes: > > odp_numa_mask_t mask; > > odp_pool_create(.., param.mask = 0x5); > > where 0x5 will say that numa node 0 and numa node 2 available for > allocation, but not numa node 1. > Given that an odp_dev_t is abstract, That could be encoded in the string that is supplied to odp_dev_id(), especially since this is intentionally platform-dependent. Currently there is no application-visible structure in this. I'm not sure we want to introduce one, as masks would imply. > > > Maxim. > > > On 17 October 2016 at 17:18, Bill Fischofer <[email protected]> > wrote: > >> >> >> On Mon, Oct 17, 2016 at 8:59 AM, Maxim Uvarov <[email protected]> >> wrote: >> >>> On 10/13/16 03:44, Bill Fischofer wrote: >>> >>>> + >>>> +#ifndef ODP_API_DEV_H_ >>>> +#define ODP_API_DEV_H_ >>>> +#include <odp/visibility_begin.h> >>>> + >>>> +#ifdef __cplusplus >>>> +extern "C" { >>>> +#endif >>>> + >>>> +#include <odp/api/std_types.h> >>>> + >>>> +/** @defgroup odp_dev ODP DEVICE >>>> + * Operations on devices >>>> + * @{ >>>> + */ >>>> + >>>> +/** >>>> + * @typedef odp_dev_t >>>> + * ODP Device >>>> + */ >>>> + >>>> +/** >>>> + * @def ODP_DEV_NAME_LEN >>>> + * Maximum device name length in chars >>>> + */ >>>> + >>>> +/** >>>> + * @def ODP_DEV_ANY >>>> + * Any device >>>> + */ >>>> + >>>> +/** >>>> + * @def ODP_DEV_INVALID >>>> + * Invalid device >>>> + */ >>>> >>> >>> By defining INVALID and ANY will we miss SOME? Maybe on memory >>> allocation it makes sense to provide mask of possible numa nodes and >>> implementation will choose what is the best? >> >> >> These two special symbols seem needed. What is the use case for >> ODP_DEV_SOME and how would that have a platform-independent meaning? >> >> >>> >>> >>> Maxim. >>> >> >> >
