DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: okaya@kernel.org
Cc: dev@dpdk.org
Subject: Re: [PATCH v4 0/8] support reinit flow
Date: Tue, 15 Aug 2023 10:45:24 -0700	[thread overview]
Message-ID: <20230815104524.5ffcf627@hermes.local> (raw)
In-Reply-To: <20230815145023.1386003-1-okaya@kernel.org>

On Tue, 15 Aug 2023 10:50:15 -0400
okaya@kernel.org wrote:

> From: Sinan Kaya <okaya@kernel.org>
> 
> We want to be able to call rte_eal_init() and rte_eal_cleanup()
> APIs back to back for maintanance reasons.
> 
> Here is a summary of the code we have seen so far:
> 
> 1. some code support getting called multiple times by keeping
> a static variable.
> 2. some code initializes once but never clean up after them and
> don't have a cleanup API.
> 3. some code assumes that they only get called once during the
> lifecycle of the process.
> 
> Most changes in this patch center around following the #1 design
> principle.
> 
> Why?
> 
> It is not always ideal to reinitialize a DPDK process. Memory needs
> to be reinitialized, hugetables need to warm up etc.


I am familiar with the backstory of why this is desirable in your case.
But others may not be. It will work for you, but for the wider the
range of libraries and drivers it probably won't.

As a compromise, can this restart be officially tagged as unsupported.
I.e. it may work for some drivers and libraries but not all of them.
If nothing else many parts of DPDK still do leak memory on cleanup
and currently this is harmless.

This has enough impact that it probably needs to wait past 23.11 release.

Could you add a test for restart into standalone tests and test-pmd?


  parent reply	other threads:[~2023-08-15 17:45 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-15 14:50 okaya
2023-08-15 14:50 ` [PATCH v4 1/8] eal: cleanup plugins data okaya
2023-08-15 14:50 ` [PATCH v4 2/8] eal: fixes for re-initialization issues okaya
2023-08-15 17:49   ` Stephen Hemminger
2023-08-15 18:35     ` Sinan Kaya
2023-08-15 14:50 ` [PATCH v4 3/8] tailq: skip init if already initialized okaya
2023-08-15 14:50 ` [PATCH v4 4/8] eal_memzone: bail out on initialized okaya
2023-08-15 14:50 ` [PATCH v4 5/8] memseg: init once okaya
2023-08-15 14:50 ` [PATCH v4 6/8] eal_memory: skip initialization okaya
2023-08-15 14:50 ` [PATCH v4 7/8] eal_interrupts: don't reinitialize threads okaya
2023-08-15 17:47   ` Stephen Hemminger
2023-08-15 14:50 ` [PATCH v4 8/8] eal: initialize worker threads once okaya
2023-08-15 17:46   ` Stephen Hemminger
2023-08-15 18:43     ` Sinan Kaya
2023-08-15 17:45 ` Stephen Hemminger [this message]
2023-08-15 18:58   ` [PATCH v4 0/8] support reinit flow Sinan Kaya
2023-08-15 19:47     ` Stephen Hemminger

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=20230815104524.5ffcf627@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=okaya@kernel.org \
    /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).