DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Dmitry Kozliuk <dmitry.kozliuk@gmail.com>
Cc: dev@dpdk.org, Pallavi Kadam <pallavi.kadam@intel.com>,
	Anatoly Burakov <anatoly.burakov@intel.com>,
	Ranjit Menon <ranjit.menon@intel.com>,
	Harini.Ramakrishnan@microsoft.com,
	Stephen Hemminger <sthemmin@microsoft.com>
Subject: Re: [dpdk-dev] Windows Support Plan
Date: Wed, 05 Feb 2020 02:03:22 +0100	[thread overview]
Message-ID: <1672064.3VsfAaAtOV@xps> (raw)
In-Reply-To: <20200202233736.74bdf47f@Sovereign>

02/02/2020 21:37, Dmitry Kozliuk:
> Where do I find a high-level plan of comprehensive Windows support: design
> decisions, implementation order, etc?

Please help documenting design decisions in the DPDK doc.
For implementation order, we'll discuss it soon together.

> Information on the subject is very scarce, one may think it is abandoned.
> Googling for "site:dpdk.org/ml/archives/dev/ windows" yields only two pages
> of disjoint messages. I learned about "netuio" days ago from a tiny remark in
> a "Minutes of Technical Board Meetings" email, and even then it took
> enumerating "dpdk-next-windows" branches to find the source.

I agree.
I think Harini will address this lack of information.

> The matter is, as a New Year's holiday project of mine I implemented Windows
> support from scratch to the point it runs in QEMU with virtio-pci [0]. It is
> not of production quality, cuts some corners and lacks major features (see
> bottom). My primary goal was fun^W making it work. Comparing it to
> "windpdk-v18.08" branch of "dpdk-next-windows", I can see that 1) our
> implementations take rather different approaches in some cases, and 2) both
> have severe issues and would benefit from amalgamation. I'd like to
> contribute to Windows support with this code, but to do so, coordination is
> required, because changes are significant.

You are very welcome.
The work you already did looks amazing and it is very well presented.

[...]
> 3. POSIX shim vs EAL wrappers (@Thomas, @Pallavi, @Ranjit)
> 
>    What is the policy: to implement a POSIX shim in EAL (as the latest
>    patches from Pallavi Kadam do), or to add dependencies (as [1] suggests)?

You are right, we should think about adding new dependencies which are
easily and generally available.

>    IMO creating a shim is wrong.

I do not like the shim layer either.

>    First, some POSIX concepts do not
>    easily map to Windows, like poll() interface and I/O model in
>    general. Second, there are numerous getopt, pthread, etc.
>    implementations for Windows, no point wasting resources and repeat
>    them, adding bugs. I can think of two exceptions:
> 
>    * <sys/queue.h>, which is header-only.
> 
>    * Berkeley sockets. Adding <winsock2.h> to public headers creates
>      more trouble that its worth: definitions for a few structures and
>      constants. May be there should be some <rte_socket.h> to abstract
>      platform differences.
[...]
>   * multi-process (due to limited time)

As Anatoly said, multi-process is not a priority.
This feature has a high cost, so we should think twice before deciding
to support it on Windows.

[...]
> [0]: https://github.com/PlushBeaver/dpdk/commits/windows
> [1]: http://mails.dpdk.org/archives/dev/2015-February/014245.html

Thanks a lot



      parent reply	other threads:[~2020-02-05  1:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-02 20:37 Dmitry Kozliuk
2020-02-03  9:15 ` [dpdk-dev] [EXTERNAL] " Stephen Hemminger
2020-02-03 18:18   ` Menon, Ranjit
2020-02-03 22:13     ` Dmitry Kozlyuk
2020-02-03 10:25 ` [dpdk-dev] " Burakov, Anatoly
2020-02-08 20:09   ` Dmitry Kozlyuk
2020-02-11 10:05     ` Burakov, Anatoly
2020-02-05  1:03 ` Thomas Monjalon [this message]

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=1672064.3VsfAaAtOV@xps \
    --to=thomas@monjalon.net \
    --cc=Harini.Ramakrishnan@microsoft.com \
    --cc=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=pallavi.kadam@intel.com \
    --cc=ranjit.menon@intel.com \
    --cc=sthemmin@microsoft.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).