DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Liang, Cunming" <cunming.liang@intel.com>
To: Matthew Hall <mhall@mhcomputing.net>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] eal/linux: fix negative value for undetermined numa_node
Date: Mon, 03 Aug 2015 09:46:54 +0800	[thread overview]
Message-ID: <55BEC80E.5010309@intel.com> (raw)
In-Reply-To: <20150801035655.GA29805@mhcomputing.net>

Hi,

On 8/1/2015 11:56 AM, Matthew Hall wrote:
> I asked about this many months ago and was informed that "-1" is a "standard
> error value" that I should expect from these APIs when NUMA is not present.
> Now we're saying I have to change my code again to handle a zero value?
>
> Also not sure how to tell the difference between no NUMA, something running on
> socket zero, and something with multiple sockets. Seems like we need a bit of
> thought about how the NUMA APIs should behave overall.
>
> Matthew.
>
> On Fri, Jul 31, 2015 at 09:36:12AM +0800, Cunming Liang wrote:
>> The patch sets zero as the default value of pci device numa_node
>> if the socket could not be determined.
>> It provides the same default value as FreeBSD which has no NUMA support,
>> and makes the return value of rte_eth_dev_socket_id() be consistent
>> with the API description.
>>
>> Signed-off-by: Cunming Liang <cunming.liang@intel.com>
>>
>>
/*
  * Return the NUMA socket to which an Ethernet device is connected
  *
  * @param port_id
  *   The port identifier of the Ethernet device
  * @return
  *   The NUMA socket id to which the Ethernet device is connected or
  *   a default of zero if the socket could not be determined.
  *   -1 is returned is the port_id value is out of range.
  */
extern int rte_eth_dev_socket_id(uint8_t port_id);

According to the API definition, if the socket could not be determined, 
a default of zero will take.
The '-1' is returned when the port_id value is out of range.

To your concern, "difference between no NUMA, something running on 
socket zero, and something with multiple sockets.".
The latter two belongs to the same situation, that is the numa_node 
stores the NUMA id.
So in fact the concern is about using '-1' or '0' when there's no NUMA 
detect.
If we won't plan to redefine the API return value, the fix patch is 
reasonable.

Btw, if it returns '-1' when no NUMA is detected, what will you do, do 
condition check '-1' and then use node 0 instead ?
In that way, you can't distinguish '-'1 is out of range port_id error or 
no NUMA detection error.
If it is, why not follow the API definition.

/Steve

  reply	other threads:[~2015-08-03  1:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-08  6:33 [dpdk-dev] [PATCH v1] app/test: fix pmd_perf issue in no NUMA case Cunming Liang
2015-06-08  7:01 ` Jayakumar, Muthurajan
2015-06-22 21:01 ` Thomas Monjalon
2015-06-23  1:45   ` Liang, Cunming
2015-07-31  1:36     ` [dpdk-dev] [PATCH] eal/linux: fix negative value for undetermined numa_node Cunming Liang
2015-08-01  3:56       ` Matthew Hall
2015-08-03  1:46         ` Liang, Cunming [this message]
2015-08-03  5:04           ` Matthew Hall
2015-08-03 17:19             ` 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=55BEC80E.5010309@intel.com \
    --to=cunming.liang@intel.com \
    --cc=dev@dpdk.org \
    --cc=mhall@mhcomputing.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).