DPDK patches and discussions
 help / color / mirror / Atom feed
From: Nick Connolly <nick.connolly@mayadata.io>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
	Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, Tyler Retzlaff <roretzla@microsoft.com>,
	Jerin Jacob <jerinj@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>
Subject: Re: [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions
Date: Mon, 1 Mar 2021 21:31:07 +0000	[thread overview]
Message-ID: <87502441-f319-2436-8cbc-c6529982b9cd@mayadata.io> (raw)
In-Reply-To: <20210227232327.1ac69729@sovereign>


> There's a meson issue with `cc.has_function()`:
> https://github.com/mesonbuild/meson/issues/5628
>
> What if we just define RTE_INTERNAL for librte_eal/windows/include/rte_os.h
> (and other public headers if need be) to distinguish the case when it's used
> from within DPDK?
It's a pragmatic solution to the problem, but sadly it's not quite as 
clean as letting the build system determine if each 'wrapper' is needed. 
DPDK supports a variety of platforms and toolsets and my experience with 
SPDK suggests that we'll end up with compiler specific ifdef's. It's all 
protected by RTE_INTERNAL so it's not really a problem, but I wonder if 
it makes it easier for someone to accidentally introduce definitions 
outside of the #ifdef RTE_INTERNAL?

How about a new header rte_os_internal.h that contains the 'wrappers'? 
It gets included from rte_os.h only if RTE_INTERNAL is set and doesn't 
get installed so can't impact the user environment. I'm not sure I like 
it, but I guess we could do the same thing for every header that needs 
wrappers. I'm really 'thinking aloud' here and I'm not convinced it's 
the best route forward, so feel free to ignore. What I'm searching for 
is a way of wrapping that's clean and has a reasonably low risk of 
future human error.

Regards,
Nick


  reply	other threads:[~2021-03-01 21:31 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-20 23:29 [dpdk-dev] [PATCH 0/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 6/7] drivers: " Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-21  1:28 ` [dpdk-dev] [PATCH v2 0/7] " Dmitry Kozlyuk
2021-02-21  1:28   ` [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-22 11:47     ` Bruce Richardson
2021-02-22 12:48       ` Nick Connolly
2021-02-22 14:26         ` Bruce Richardson
2021-02-22 18:21           ` Nick Connolly
2021-02-22 22:57           ` Dmitry Kozlyuk
2021-02-23  9:45             ` Bruce Richardson
2021-02-27 20:23               ` Dmitry Kozlyuk
2021-03-01 21:31                 ` Nick Connolly [this message]
2021-03-02  0:22                   ` Dmitry Kozlyuk
2021-03-02 11:27                     ` Nick Connolly
2021-03-16  9:51                 ` Thomas Monjalon
2021-02-22 18:07         ` Tyler Retzlaff
2021-02-22 18:36           ` Nick Connolly
2021-02-21  1:28   ` [dpdk-dev] [PATCH v2 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-02-21  1:28   ` [dpdk-dev] [PATCH v2 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-21  8:58     ` Tal Shnaiderman
2021-02-21  1:28   ` [dpdk-dev] [PATCH v2 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-02-21  1:28   ` [dpdk-dev] [PATCH v2 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-02-21  1:28   ` [dpdk-dev] [PATCH v2 6/7] drivers: " Dmitry Kozlyuk
2021-02-21  8:59     ` Tal Shnaiderman
2021-02-21 15:54       ` Andrew Rybchenko
2021-02-21 17:05         ` Dmitry Kozlyuk
2021-02-21  1:28   ` [dpdk-dev] [PATCH v2 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-21  8:59     ` Tal Shnaiderman
2021-02-21 10:24       ` Dmitry Kozlyuk
2021-02-21 11:58         ` Tal Shnaiderman
2021-02-21 14:33           ` Dmitry Kozlyuk
2021-02-21 14:28   ` [dpdk-dev] [PATCH v3 0/7] " Dmitry Kozlyuk
2021-02-21 14:28     ` [dpdk-dev] [PATCH v3 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-23  7:11       ` Andrew Rybchenko
2021-02-23 21:53         ` Nick Connolly
2021-02-24  7:21           ` Andrew Rybchenko
2021-03-04  6:47       ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28     ` [dpdk-dev] [PATCH v3 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-03-04  6:47       ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28     ` [dpdk-dev] [PATCH v3 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-23 22:06       ` Nick Connolly
2021-03-04  6:47       ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28     ` [dpdk-dev] [PATCH v3 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-03-04  6:48       ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28     ` [dpdk-dev] [PATCH v3 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-03-04  6:48       ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28     ` [dpdk-dev] [PATCH v3 6/7] drivers: " Dmitry Kozlyuk
2021-03-04  6:49       ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28     ` [dpdk-dev] [PATCH v3 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-04  6:49       ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-03-04  6:46     ` [dpdk-dev] [EXTERNAL] [PATCH v3 0/7] " Khoa To
2021-03-06  0:04     ` [dpdk-dev] [PATCH v4 0/4] " Dmitry Kozlyuk
2021-03-06  0:04       ` [dpdk-dev] [PATCH v4 1/4] eal: add sleep API Dmitry Kozlyuk
2021-03-06  0:04       ` [dpdk-dev] [PATCH v4 2/4] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-03-06 15:27         ` Lance Richardson
2021-03-06  0:04       ` [dpdk-dev] [PATCH v4 3/4] build: indicate usage at build time for public headers Dmitry Kozlyuk
2021-03-16  9:59         ` Thomas Monjalon
2021-03-06  0:05       ` [dpdk-dev] [PATCH v4 4/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-17 19:23       ` [dpdk-dev] [PATCH v4 0/4] " Ranjit Menon
2021-03-20 11:27       ` [dpdk-dev] [PATCH v5 0/5] " Dmitry Kozlyuk
2021-03-20 11:27         ` [dpdk-dev] [PATCH v5 1/5] eal: add sleep API Dmitry Kozlyuk
2021-03-22  8:57           ` Kinsella, Ray
2021-03-20 11:27         ` [dpdk-dev] [PATCH v5 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-03-20 11:27         ` [dpdk-dev] [PATCH v5 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-03-20 11:27         ` [dpdk-dev] [PATCH v5 4/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-03-20 11:27         ` [dpdk-dev] [PATCH v5 5/5] net: replace Windows networking shim Dmitry Kozlyuk
2021-03-20 13:05         ` [dpdk-dev] [PATCH v6 0/5] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-20 13:05           ` [dpdk-dev] [PATCH v6 1/5] eal: add sleep API Dmitry Kozlyuk
2021-03-20 13:05           ` [dpdk-dev] [PATCH v6 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-03-26  9:04             ` Thomas Monjalon
2021-03-20 13:05           ` [dpdk-dev] [PATCH v6 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-03-26  9:12             ` Thomas Monjalon
2021-03-31 21:05               ` Nick Connolly
2021-03-31 21:19                 ` Thomas Monjalon
2021-03-31 21:45                   ` Nick Connolly
2021-03-31 21:55                     ` Thomas Monjalon
2021-04-01 23:10                       ` Dmitry Kozlyuk
2021-04-01 23:18                         ` Thomas Monjalon
2021-03-20 13:05           ` [dpdk-dev] [PATCH v6 4/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-03-26  9:22             ` Thomas Monjalon
2021-03-20 13:05           ` [dpdk-dev] [PATCH v6 5/5] net: replace Windows networking shim Dmitry Kozlyuk
2021-03-26  9:28             ` Thomas Monjalon
2021-04-01 23:03               ` Dmitry Kozlyuk
2021-04-03 23:41           ` [dpdk-dev] [PATCH v7 0/5] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-03 23:41             ` [dpdk-dev] [PATCH v7 1/5] eal: add sleep API Dmitry Kozlyuk
2021-04-06 14:34               ` Morten Brørup
2021-04-06 23:29                 ` Dmitry Kozlyuk
2021-04-07  7:31                   ` Morten Brørup
2021-04-29 17:09                     ` Tyler Retzlaff
2021-04-03 23:41             ` [dpdk-dev] [PATCH v7 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-10  7:05               ` Nick Connolly
2021-04-03 23:41             ` [dpdk-dev] [PATCH v7 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-04-03 23:41             ` [dpdk-dev] [PATCH v7 4/5] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-03 23:41             ` [dpdk-dev] [PATCH v7 5/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-07 22:22             ` [dpdk-dev] [PATCH v8 0/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-07 22:22               ` [dpdk-dev] [PATCH v8 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-07 22:22               ` [dpdk-dev] [PATCH v8 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-07 22:22               ` [dpdk-dev] [PATCH v8 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-08 11:26                 ` Olivier Matz
2021-04-07 22:22               ` [dpdk-dev] [PATCH v8 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-08 11:45                 ` Olivier Matz
2021-04-08 19:51                   ` Dmitry Kozlyuk
2021-04-09 13:33                     ` Olivier Matz
2021-04-14 21:47                   ` Thomas Monjalon
2021-04-10 22:47               ` [dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-10 22:47                 ` [dpdk-dev] [PATCH v9 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-10 22:47                 ` [dpdk-dev] [PATCH v9 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-14 21:33                   ` Thomas Monjalon
2021-04-10 22:47                 ` [dpdk-dev] [PATCH v9 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-10 22:47                 ` [dpdk-dev] [PATCH v9 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-13  4:46                 ` [dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols Ranjit Menon
2021-04-13  7:00                   ` Dmitry Kozlyuk
2021-04-14 21:12                     ` Thomas Monjalon
2021-04-14 21:34                       ` Ranjit Menon
2021-04-14 21:42                         ` Thomas Monjalon
2021-04-14 21:47                           ` Ranjit Menon
2021-04-14 22:08                             ` Dmitry Kozlyuk
2021-04-14 22:58                               ` Thomas Monjalon
2021-04-14 22:06                 ` [dpdk-dev] [PATCH v10 " Dmitry Kozlyuk
2021-04-14 22:06                   ` [dpdk-dev] [PATCH v10 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-14 22:06                   ` [dpdk-dev] [PATCH v10 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-14 22:06                   ` [dpdk-dev] [PATCH v10 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-14 22:06                   ` [dpdk-dev] [PATCH v10 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-14 22:50                   ` [dpdk-dev] [PATCH v10 0/4] eal/windows: do not expose POSIX symbols Ranjit Menon
2021-04-14 23:57                     ` Thomas Monjalon
2021-03-17 19:19 ` [dpdk-dev] [PATCH 0/7] " Ranjit Menon

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=87502441-f319-2436-8cbc-c6529982b9cd@mayadata.io \
    --to=nick.connolly@mayadata.io \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=jerinj@marvell.com \
    --cc=roretzla@microsoft.com \
    --cc=skori@marvell.com \
    /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).