OK. So let's defer the API but not the discussion.
I think we need a "strategic architecture" call.

FF



On 6 December 2016 at 15:59, Bill Fischofer <bill.fischo...@linaro.org>
wrote:

> I have no problem deferring this if we want to have one of the SoC vendors
> drive a more comprehensive approach based on their capabilities which can
> then be generalized. BTW, your link doesn't resolve. Typo somewhere?
>
> On Tue, Dec 6, 2016 at 8:47 AM, Francois Ozog <francois.o...@linaro.org>
> wrote:
>
>> Devicetree has been formed by and for SoC vendors to represent what they
>> have on their platforms (CPUs, Memory, interconnects, IOMMUs, ports, IRQ
>> lines, firmware - http://free-electrons.com/pub/
>> conferences/2013/elce/petazzoni-device-tree-dummies/petazzon
>> i-device-tree-dummies.pdf)..... so it looks like very similar to what
>> Petri is talking about.
>>
>> ACPI has also a concept of a proximity domains and the relative cost to
>> use a resource from another domain.
>>
>> Handling NUMA requires a well thought through approach because it has
>> implications at many levels in particular for device and driver framework.
>>
>> Bottom line, regardless if it's value, the introduction of the API seem
>> too early as I haven't seen the use case that it supports and in particular
>> the device and drivers framework.
>>
>> FF
>>
>>
>>
>>
>>
>>
>> On 6 December 2016 at 14:23, Bill Fischofer <bill.fischo...@linaro.org>
>> wrote:
>>
>>>
>>>
>>> On Tue, Dec 6, 2016 at 5:03 AM, Francois Ozog <francois.o...@linaro.org>
>>> wrote:
>>>
>>>> Hi Bill,
>>>>
>>>> could you clarify if this "device" is related to devicetree as defined
>>>> by Linaro (https://github.com/devicetree-org/devicetree-specification)
>>>> or the devices that are in the scope of Christophe Millard, or some other
>>>> device concept ?
>>>>
>>>
>>> This is the Device ID proposal that Petri suggested at BKK16. It is not
>>> related to devtree or any other specific taxonomy as the idea was to
>>> establish an abstract "device" framework that would support both individual
>>> sockets or multi-SoC environments. In odp-linux these are basically
>>> placeholder functions as we don't have any cross-platform concept of NUMA.
>>> The idea is that each individual platform that does support NUMA should be
>>> able to map their native concepts into this framework to permit
>>> applications to associate an internal odp_dev_t handle with named devices.
>>>
>>>
>>>>
>>>> FF
>>>>
>>>>
>>>>
>>>> On 6 December 2016 at 04:43, Bill Fischofer <bill.fischo...@linaro.org>
>>>> wrote:
>>>>
>>>>> Ping. v3 of this patch is still awaiting review.
>>>>>
>>>>> On Mon, Oct 24, 2016 at 4:29 PM, Bill Fischofer
>>>>> <bill.fischo...@linaro.org> wrote:
>>>>> > Add the odp_dev_id() API used for NUMA support
>>>>> >
>>>>> > Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org>
>>>>> > ---
>>>>> > Changes for v3:
>>>>> > - Correct ODP_DEV_ANY to ODP_DEV_DEFAULT
>>>>> >
>>>>> > Changes for v2:
>>>>> > - Incorporate changes suggested by Petri
>>>>> >
>>>>> >  include/odp/api/spec/dev.h | 89 ++++++++++++++++++++++++++++++
>>>>> ++++++++++++++++
>>>>> >  1 file changed, 89 insertions(+)
>>>>> >  create mode 100644 include/odp/api/spec/dev.h
>>>>> >
>>>>> > diff --git a/include/odp/api/spec/dev.h b/include/odp/api/spec/dev.h
>>>>> > new file mode 100644
>>>>> > index 0000000..76d861a
>>>>> > --- /dev/null
>>>>> > +++ b/include/odp/api/spec/dev.h
>>>>> > @@ -0,0 +1,89 @@
>>>>> > +/* Copyright (c) 2016, Linaro Limited
>>>>> > + * All rights reserved.
>>>>> > + *
>>>>> > + * SPDX-License-Identifier:     BSD-3-Clause
>>>>> > + */
>>>>> > +
>>>>> > +/**
>>>>> > + * @file
>>>>> > + *
>>>>> > + * ODP device
>>>>> > + */
>>>>> > +
>>>>> > +#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_DEFAULT
>>>>> > + * Default device
>>>>> > + */
>>>>> > +
>>>>> > +/**
>>>>> > + * @def ODP_DEV_INVALID
>>>>> > + * Invalid device
>>>>> > + */
>>>>> > +
>>>>> > +/**
>>>>> > + * Get Device ID by Name
>>>>> > + *
>>>>> > + * Get an implementation-defined device identifier from a device
>>>>> name. Device
>>>>> > + * names are supplied as parameter info (command line, file, etc.)
>>>>> to the
>>>>> > + * application. This routine translates this symbolic name into an
>>>>> internal
>>>>> > + * identifier that can be used to define a device connection
>>>>> hierarchy for
>>>>> > + * NUMA or other purposes.
>>>>> > + *
>>>>> > + * The reserved id ODP_DEV_DEFAULT may be used as a "don't care"
>>>>> placeholder
>>>>> > + * wherever a device id is required.
>>>>> > + *
>>>>> > + * @param name Name of the device
>>>>> > + *
>>>>> > + * @return Device ID
>>>>> > + * @retval ODP_DEV_INVALID Device is unknown
>>>>> > + */
>>>>> > +odp_dev_t odp_dev_id(const char *name);
>>>>> > +
>>>>> > +/**
>>>>> > + * Get printable value for an odp_dev_t
>>>>> > + *
>>>>> > + * @param hdl  odp_dev_t handle to be printed
>>>>> > + * @return     uint64_t value that can be used to print/display this
>>>>> > + *             handle
>>>>> > + *
>>>>> > + * @note This routine is intended to be used for diagnostic purposes
>>>>> > + * to enable applications to generate a printable value that
>>>>> represents
>>>>> > + * an odp_dev_t handle.
>>>>> > + */
>>>>> > +uint64_t odp_dev_to_u64(odp_dev_t hdl);
>>>>> > +
>>>>> > +/**
>>>>> > + * @}
>>>>> > + */
>>>>> > +
>>>>> > +#ifdef __cplusplus
>>>>> > +}
>>>>> > +#endif
>>>>> > +
>>>>> > +#include <odp/visibility_end.h>
>>>>> > +#endif
>>>>> > --
>>>>> > 2.7.4
>>>>> >
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> [image: Linaro] <http://www.linaro.org/>
>>>> François-Frédéric Ozog | *Director Linaro Networking Group*
>>>> T: +33.67221.6485
>>>> francois.o...@linaro.org | Skype: ffozog
>>>>
>>>>
>>>
>>
>>
>> --
>> [image: Linaro] <http://www.linaro.org/>
>> François-Frédéric Ozog | *Director Linaro Networking Group*
>> T: +33.67221.6485
>> francois.o...@linaro.org | Skype: ffozog
>>
>>
>


-- 
[image: Linaro] <http://www.linaro.org/>
François-Frédéric Ozog | *Director Linaro Networking Group*
T: +33.67221.6485
francois.o...@linaro.org | Skype: ffozog

Reply via email to