[dpdk-dev] [PATCH v5] eal: do not panic on shared memory init
Thomas Monjalon
thomas at monjalon.net
Wed Jun 26 17:08:12 CEST 2019
11/06/2019 10:07, David Marchand:
> On Mon, Jun 10, 2019 at 9:09 AM Arnon Warshavsky <arnon at qwilt.com> wrote:
>
> > This patch changes some void functions to return a value,
> > so that the init sequence may tear down orderly
> > instead of calling panic.
> >
> > Signed-off-by: Arnon Warshavsky <arnon at qwilt.com>
> > ---
> >
> > The calls for launching core messaging threads were left in tact
> > in all 3 eal implementations.
> > This should be addressed in a different patchset.
> > There are still cases where the PMDs or message threads
> > may call panic with no context for the user.
> > For these I will submit a patch suggesting a callback registration,
> > allowing the user to register a context to be called
> > in case of a panic that takes place outside the init sequence.
>
> Reviewed-by: David Marchand <david.marchand at redhat.com>
>
> Thanks Arnon!
Applied, thanks
For the record, below is the updated status of
rte_panic/rte_exit calls in libs:
librte_eal:
int rte_eal_init
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
-> debug assert
librte_mbuf:
void rte_mbuf_sanity_check
rte_panic
-> debug assert
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
More information about the dev
mailing list