DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v2] eal: add function to return number of detected sockets
Date: Tue, 16 Jan 2018 15:05:27 +0000	[thread overview]
Message-ID: <58e15893-0f6e-7fed-d847-b128be26e483@intel.com> (raw)
In-Reply-To: <2134391.uA7JBUhxlf@xps>

On 16-Jan-18 12:20 PM, Thomas Monjalon wrote:
> 16/01/2018 12:56, Burakov, Anatoly:
>> On 12-Jan-18 11:50 AM, Thomas Monjalon wrote:
>>> 12/01/2018 12:44, Burakov, Anatoly:
>>>> On 11-Jan-18 10:20 PM, Thomas Monjalon wrote:
>>>>> 22/12/2017 13:41, Anatoly Burakov:
>>>>>> During lcore scan, find maximum socket ID and store it.
>>>>>>
>>>>>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
>>>>>> ---
>>>>>> --- a/lib/librte_eal/common/include/rte_eal.h
>>>>>> +++ b/lib/librte_eal/common/include/rte_eal.h
>>>>>> @@ -83,6 +83,7 @@ enum rte_proc_type_t {
>>>>>>     struct rte_config {
>>>>>>     	uint32_t master_lcore;       /**< Id of the master lcore */
>>>>>>     	uint32_t lcore_count;        /**< Number of available logical cores. */
>>>>>> +	uint32_t numa_node_count;    /**< Number of detected NUMA nodes. */
>>>>>>     	uint32_t service_lcore_count;/**< Number of available service cores. */
>>>>>>     	enum rte_lcore_role_t lcore_role[RTE_MAX_LCORE]; /**< State of cores. */
>>>>>
>>>>> isn't it breaking the ABI?
>>>>>
>>>>>
>>>>
>>>> Yep, you're right, forgot to add that. I didn't expect this to get
>>>> merged in 18.02 anyway, so v2 will follow.
>>>
>>> Please write 18.05 in the subject to show your expectation.
>>> Thanks
>>>
>>
>> Does it have to be an ABI change though? We can put numa_node_count
>> after pointer to mem_config, in which case it won't be an ABI break.
>> Would that be better?
> 
> Changing the size of a struct which is allocated by the app,
> is an ABI break.
> Is your solution changing the size?
> 

It's not really allocated as such. rte_config is a global static 
variable, and we only ever get pointers to it from the user code. If we 
add the new value at the end, all of the old data layout would be intact 
and work as before, so nothing would change as far as old code is concerned.

However, if that's still considered an ABI break, then OK, break it is.

Some background for why this is needed - for the memory hotplug, we need 
to know how many sockets we can allocate memory at, to distinguish 
between socket that doesn't exist, and socket that exists but has no 
memory allocated on it. I'm OK with trying other approaches (such as 
storing numa nodes in a static variable somewhere) if breaking ABI for 
this is too much to ask for such a minute change.

-- 
Thanks,
Anatoly

  reply	other threads:[~2018-01-16 15:05 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-22 11:58 [dpdk-dev] [PATCH] " Anatoly Burakov
2017-12-22 12:41 ` [dpdk-dev] [PATCH v2] " Anatoly Burakov
2018-01-11 22:20   ` Thomas Monjalon
2018-01-12 11:44     ` Burakov, Anatoly
2018-01-12 11:50       ` Thomas Monjalon
2018-01-16 11:56         ` Burakov, Anatoly
2018-01-16 12:20           ` Thomas Monjalon
2018-01-16 15:05             ` Burakov, Anatoly [this message]
2018-01-16 17:34               ` Thomas Monjalon
2018-01-16 17:38                 ` Burakov, Anatoly
2018-01-16 18:26                   ` Thomas Monjalon
2018-01-16 17:53   ` [dpdk-dev] [PATCH] doc: add ABI change notice for numa_node_count in eal Anatoly Burakov
2018-01-23 10:39     ` Mcnamara, John
2018-02-07 10:10       ` Jerin Jacob
2018-02-09 14:42         ` Bruce Richardson
2018-02-14  0:04           ` Thomas Monjalon
2018-02-14 14:25             ` Thomas Monjalon
2018-02-12 16:00     ` Jonas Pfefferle
     [not found]   ` <cover.1517848624.git.anatoly.burakov@intel.com>
2018-02-05 16:37     ` [dpdk-dev] [PATCH v3] eal: add function to return number of detected sockets Anatoly Burakov
2018-02-05 17:39       ` Burakov, Anatoly
2018-02-05 22:45         ` Thomas Monjalon
2018-02-06  9:28           ` Burakov, Anatoly
2018-02-06  9:47             ` Thomas Monjalon
2018-02-07  9:58       ` [dpdk-dev] [PATCH 18.05 v4] Add " Anatoly Burakov
2018-02-07  9:58       ` [dpdk-dev] [PATCH 18.05 v4] eal: add " Anatoly Burakov
2018-03-08 12:12         ` Bruce Richardson
2018-03-08 14:38           ` Burakov, Anatoly
2018-03-09 16:32             ` Bruce Richardson
2018-03-20 22:43             ` Thomas Monjalon
2018-03-21  4:59         ` gowrishankar muthukrishnan
2018-03-21 10:24           ` Burakov, Anatoly
2018-03-22  5:16             ` gowrishankar muthukrishnan
2018-03-22  9:04               ` Burakov, Anatoly
2018-03-22 10:58       ` [dpdk-dev] [PATCH v5] eal: provide API for querying valid socket id's Anatoly Burakov
2018-03-22 11:45         ` Burakov, Anatoly
2018-03-22 12:36         ` [dpdk-dev] [PATCH v6] " Anatoly Burakov
2018-03-22 17:07           ` gowrishankar muthukrishnan
2018-03-27 16:24           ` Thomas Monjalon
2018-03-31 13:35             ` Burakov, Anatoly
2018-04-02 15:27               ` Thomas Monjalon
2018-03-31 17:08           ` [dpdk-dev] [PATCH v7] " Anatoly Burakov
2018-04-04 22:31             ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=58e15893-0f6e-7fed-d847-b128be26e483@intel.com \
    --to=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).