From: Thomas Monjalon <thomas@monjalon.net>
To: Arnon Warshavsky <arnon@qwilt.com>
Cc: dev@dpdk.org, anatoly.burakov@intel.com, wenzhuo.lu@intel.com,
declan.doherty@intel.com, jerin.jacob@caviumnetworks.com,
bruce.richardson@intel.com, ferruh.yigit@intel.com,
ranjit.menon@intel.com, pallavi.kadam@intel.com
Subject: Re: [dpdk-dev] [PATCH v6 00/11] al: replace calls to rte_panic and refrain from new instances
Date: Wed, 08 May 2019 13:15:54 +0200 [thread overview]
Message-ID: <2691001.bJ2rVGK9ui@xps> (raw)
In-Reply-To: <1524552123-31378-1-git-send-email-arnon@qwilt.com>
24/04/2018 08:41, Arnon Warshavsky:
> The purpose of this patch series is to cleanup the library code
> from paths that end up aborting the process,
> and move to checking error values, in order to allow the running process
> perform an orderly teardown or other mitigation of the event.
>
> This patch modifies the majority of rte_panic calls
> under lib and drivers, and replaces them with a log message
> and an error return code according to context,
> that can be propagated up the call stack.
>
> - Focus was given to the dpdk initialization path
> - Some of the panic calls within drivers were left in place where
> the call is from within an interrupt or calls that are
> on the data path,where there is no simple applicative
> route to propagate the error to temination.
> These should be handled by the driver maintainers..
> - local void functions with no api were changed to retrun a value
> where needed
> - No change took place in example and test files
> - No change took place for debug assertions calling panic
I did a status of rte_panic/rte_exit calls in libs.
There are a lot of cleanups to do in EAL.
We may apply the same kind of solution for Linux, FreeBSD and Windows.
The status is described below in a kind of call tree:
librte_eal:
int rte_eal_init
rte_panic
void rte_config_init
rte_panic
void rte_eal_config_create
rte_exit
rte_panic
void rte_eal_config_attach
rte_panic
void rte_eal_config_reattach
rte_panic
void eal_thread_init_master
rte_panic
-> internal change
int rte_eal_remote_launch
rte_panic
-> add a return code
eal_thread_loop
rte_panic
-> abort thread?
eal_intr_thread_main
rte_panic
-> abort thread?
int get_hugepage_dir
rte_panic
-> no public API
uint64_t rte_get_timer_cycles
uint64_t rte_get_hpet_hz
uint64_t rte_get_hpet_cycles
rte_panic
-> return 0 / no API change
librte_mempool:
void rte_mempool_*
RTE_LIBRTE_MEMPOOL_DEBUG
rte_panic
librte_mbuf:
void rte_mbuf_sanity_check
rte_panic
librte_lpm:
RTE_LIBRTE_LPM_DEBUG
VERIFY_DEPTH
rte_panic
librte_acl:
RTE_ACL_VERIFY
rte_panic
-> debug check? / no API change?
librte_sched:
void debug_check_queue_slab
rte_panic
-> debug assert
void rte_metrics_init
rte_exit
-> API breakage
librte_kni:
struct rte_kni *rte_kni_alloc
void kni_fifo_init
rte_panic
-> no public API change
librte_eventdev:
struct rte_eventdev *rte_event_pmd_vdev_init
rte_panic
-> no API change
int rte_event_pmd_pci_probe
rte_panic
-> no API change
next prev parent reply other threads:[~2019-05-08 11:15 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-24 6:41 Arnon Warshavsky
2018-04-24 6:41 ` [dpdk-dev] [PATCH v6 01/11] crypto/dpaa: replace rte_panic instances in crypto/dpaa driver Arnon Warshavsky
2018-04-24 15:00 ` Stephen Hemminger
2018-04-24 19:27 ` Arnon Warshavsky
2018-04-24 6:41 ` [dpdk-dev] [PATCH v6 02/11] bond: replace rte_panic instances in bonding driver Arnon Warshavsky
2018-04-24 6:41 ` [dpdk-dev] [PATCH v6 03/11] e1000: replace rte_panic instances in e1000 driver Arnon Warshavsky
2018-04-24 6:41 ` [dpdk-dev] [PATCH v6 04/11] ixgbe: replace rte_panic instances in ixgbe driver Arnon Warshavsky
2018-04-24 6:41 ` [dpdk-dev] [PATCH v6 05/11] eal: replace rte_panic instances in eventdev Arnon Warshavsky
2018-04-24 15:04 ` Stephen Hemminger
2018-04-24 15:06 ` Stephen Hemminger
2018-04-24 19:28 ` Arnon Warshavsky
2018-04-24 6:41 ` [dpdk-dev] [PATCH v6 06/11] kni: replace rte_panic instances in kni Arnon Warshavsky
2018-04-24 6:41 ` [dpdk-dev] [PATCH v6 07/11] eal: replace rte_panic instances in hugepage_info Arnon Warshavsky
2018-04-24 6:42 ` [dpdk-dev] [PATCH v6 08/11] eal: replace rte_panic instances in interrupts thread Arnon Warshavsky
2018-04-24 6:42 ` [dpdk-dev] [PATCH v6 09/11] eal: replace rte_panic instances in ethdev Arnon Warshavsky
2018-04-24 6:42 ` [dpdk-dev] [PATCH v6 10/11] eal: replace rte_panic instances in init sequence Arnon Warshavsky
2018-04-24 6:42 ` [dpdk-dev] [PATCH v6 11/11] devtools: prevent new instances of rte_panic and rte_exit Arnon Warshavsky
2018-04-24 6:44 ` [dpdk-dev] [PATCH v6 00/11] al: replace calls to rte_panic and refrain from new instances Arnon Warshavsky
2018-04-24 6:57 ` Arnon Warshavsky
2019-04-18 14:50 ` Thomas Monjalon
2019-04-18 14:50 ` Thomas Monjalon
2019-04-21 19:16 ` Arnon Warshavsky
2019-04-21 19:16 ` Arnon Warshavsky
2019-04-21 21:10 ` Thomas Monjalon
2019-04-21 21:10 ` Thomas Monjalon
2019-05-08 11:15 ` Thomas Monjalon [this message]
2019-05-08 11:15 ` Thomas Monjalon
2019-05-08 14:47 ` David Marchand
2019-05-08 14:47 ` David Marchand
2019-05-09 12:05 ` Burakov, Anatoly
2019-05-09 12:05 ` Burakov, Anatoly
2019-05-09 13:16 ` Thomas Monjalon
2019-05-09 13:16 ` Thomas Monjalon
2019-05-23 11:14 ` Thomas Monjalon
2019-05-23 13:13 ` Arnon Warshavsky
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=2691001.bJ2rVGK9ui@xps \
--to=thomas@monjalon.net \
--cc=anatoly.burakov@intel.com \
--cc=arnon@qwilt.com \
--cc=bruce.richardson@intel.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jerin.jacob@caviumnetworks.com \
--cc=pallavi.kadam@intel.com \
--cc=ranjit.menon@intel.com \
--cc=wenzhuo.lu@intel.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).