From: Thomas Monjalon <thomas@monjalon.net>
To: Anatoly Burakov <anatoly.burakov@intel.com>
Cc: dev@dpdk.org, Neil Horman <nhorman@tuxdriver.com>,
John McNamara <john.mcnamara@intel.com>,
Marko Kovacevic <marko.kovacevic@intel.com>,
Konstantin Ananyev <konstantin.ananyev@intel.com>,
David Hunt <david.hunt@intel.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Byron Marohn <byron.marohn@intel.com>,
Pablo de Lara Guarch <pablo.de.lara.guarch@intel.com>,
Yipeng Wang <yipeng1.wang@intel.com>,
Sameh Gobriel <sameh.gobriel@intel.com>,
Vladimir Medvedkin <vladimir.medvedkin@intel.com>,
Olivier Matz <olivier.matz@6wind.com>,
Andrew Rybchenko <arybchenko@solarflare.com>,
Reshma Pattan <reshma.pattan@intel.com>,
david.marchand@redhat.com, stephen@networkplumber.org
Subject: Re: [dpdk-dev] [PATCH v3 09/14] eal: hide shared memory config
Date: Thu, 04 Jul 2019 21:51:06 +0200 [thread overview]
Message-ID: <1598886.Pakv32BBGA@xps> (raw)
In-Reply-To: <0e63b2e2abe185b711737a7102f6d6cd03101cab.1561635481.git.anatoly.burakov@intel.com>
27/06/2019 13:39, Anatoly Burakov:
> +/**
> + * the structure for the memory configuration for the RTE.
> + * Used by the rte_config structure. It is separated out, as for multi-process
> + * support, the memory details should be shared across instances
> + */
> +struct rte_mem_config {
> + volatile uint32_t magic; /**< Magic number - Sanity check. */
> +
> + /* memory topology */
> + uint32_t nchannel; /**< Number of channels (0 if unknown). */
> + uint32_t nrank; /**< Number of ranks (0 if unknown). */
> +
> + /**
> + * current lock nest order
> + * - qlock->mlock (ring/hash/lpm)
> + * - mplock->qlock->mlock (mempool)
> + * Notice:
> + * *ALWAYS* obtain qlock first if having to obtain both qlock and mlock
> + */
> + rte_rwlock_t mlock; /**< only used by memzone LIB for thread-safe. */
> + rte_rwlock_t qlock; /**< used for tailq operation for thread safe. */
> + rte_rwlock_t mplock; /**< only used by mempool LIB for thread-safe. */
> +
> + rte_rwlock_t memory_hotplug_lock;
> + /**< indicates whether memory hotplug request is in progress. */
> +
> + /* memory segments and zones */
> + struct rte_fbarray memzones; /**< Memzone descriptors. */
> +
> + struct rte_memseg_list memsegs[RTE_MAX_MEMSEG_LISTS];
> + /**< list of dynamic arrays holding memsegs */
> +
> + struct rte_tailq_head tailq_head[RTE_MAX_TAILQ];
> + /**< Tailqs for objects */
> +
> + /* Heaps of Malloc */
> + struct malloc_heap malloc_heaps[RTE_MAX_HEAPS];
> +
> + /* next socket ID for external malloc heap */
> + int next_socket_id;
> +
> + /* address of mem_config in primary process. used to map shared config
> + * into exact same address the primary process maps it.
> + */
> + uint64_t mem_cfg_addr;
> +
> + /* legacy mem and single file segments options are shared */
> + uint32_t legacy_mem;
> + uint32_t single_file_segments;
> +
> + /* keeps the more restricted dma mask */
> + uint8_t dma_maskbits;
> +} __attribute__((packed));
While moving it, you could take the opportunity to do some
small cleanups of the comments, like removing "for the RTE",
or adding some uppercases and dots, etc.
next prev parent reply other threads:[~2019-07-04 19:51 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-29 16:30 [dpdk-dev] [PATCH 00/25] Make shared memory config non-public Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 01/25] eal: add API to lock/unlock memory hotplug Anatoly Burakov
2019-05-29 16:41 ` Stephen Hemminger
2019-05-29 16:30 ` [dpdk-dev] [PATCH 02/25] bus/fslmc: use new memory locking API Anatoly Burakov
2019-06-03 6:41 ` Shreyansh Jain
2019-05-29 16:30 ` [dpdk-dev] [PATCH 03/25] net/mlx4: " Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 04/25] net/mlx5: " Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 05/25] net/virtio: " Anatoly Burakov
2019-05-30 6:39 ` Tiwei Bie
2019-05-29 16:30 ` [dpdk-dev] [PATCH 06/25] mem: " Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 07/25] malloc: " Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 08/25] vfio: " Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 09/25] eal: add EAL tailq list lock/unlock API Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 10/25] acl: use new tailq locking API Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 11/25] distributor: " Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 12/25] efd: " Anatoly Burakov
2019-05-29 16:30 ` [dpdk-dev] [PATCH 13/25] eventdev: " Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 14/25] hash: " Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 15/25] lpm: " Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 16/25] member: " Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 17/25] mempool: " Anatoly Burakov
2019-05-29 16:47 ` Andrew Rybchenko
2019-05-29 16:31 ` [dpdk-dev] [PATCH 18/25] reorder: " Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 19/25] ring: " Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 20/25] stack: " Anatoly Burakov
2019-05-29 18:20 ` Eads, Gage
2019-05-29 16:31 ` [dpdk-dev] [PATCH 21/25] eal: add new API to lock/unlock mempool list Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 22/25] mempool: use new mempool list locking API Anatoly Burakov
2019-05-29 16:50 ` Andrew Rybchenko
2019-05-29 16:31 ` [dpdk-dev] [PATCH 23/25] eal: remove unused macros Anatoly Burakov
2019-05-29 16:31 ` [dpdk-dev] [PATCH 24/25] net/ena: fix direct access to shared memory config Anatoly Burakov
2019-06-03 7:33 ` Michał Krawczyk
2019-06-03 13:36 ` Michał Krawczyk
2019-06-04 10:28 ` Burakov, Anatoly
2019-06-04 10:45 ` Michał Krawczyk
2019-06-04 12:38 ` Burakov, Anatoly
2019-05-29 16:31 ` [dpdk-dev] [PATCH 25/25] eal: hide " Anatoly Burakov
2019-05-29 16:40 ` Stephen Hemminger
2019-05-30 8:02 ` Burakov, Anatoly
2019-05-29 20:14 ` David Marchand
2019-05-29 20:11 ` [dpdk-dev] [PATCH 00/25] Make shared memory config non-public David Marchand
2019-05-30 8:07 ` Burakov, Anatoly
2019-05-30 10:15 ` Bruce Richardson
2019-06-03 9:42 ` Thomas Monjalon
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 00/14] " Anatoly Burakov
2019-06-27 11:38 ` [dpdk-dev] [PATCH v3 " Anatoly Burakov
2019-06-27 15:36 ` Stephen Hemminger
2019-07-03 9:38 ` David Marchand
2019-07-03 10:47 ` Burakov, Anatoly
2019-07-04 8:09 ` David Marchand
2019-07-04 19:52 ` Thomas Monjalon
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 0/8] " Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 0/9] " Anatoly Burakov
2019-07-05 19:30 ` David Marchand
2019-07-05 21:09 ` Thomas Monjalon
2019-07-31 10:07 ` David Marchand
2019-07-31 10:32 ` Burakov, Anatoly
2019-07-31 10:48 ` David Marchand
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 1/9] eal: add API to lock/unlock memory hotplug Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 2/9] eal: add EAL tailq list lock/unlock API Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 3/9] eal: add new API to lock/unlock mempool list Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 4/9] eal: hide shared memory config Anatoly Burakov
2019-07-05 19:08 ` Thomas Monjalon
2019-07-08 9:22 ` Burakov, Anatoly
2019-07-08 9:38 ` Thomas Monjalon
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 5/9] eal: remove packed attribute from mcfg structure Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 6/9] eal: uninline wait for mcfg complete function Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 7/9] eal: unify and move " Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 8/9] eal: unify internal config initialization Anatoly Burakov
2019-07-05 17:26 ` [dpdk-dev] [PATCH v5 9/9] eal: prevent different primary/secondary process versions Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 1/8] eal: add API to lock/unlock memory hotplug Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 2/8] eal: add EAL tailq list lock/unlock API Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 3/8] eal: add new API to lock/unlock mempool list Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 4/8] eal: hide shared memory config Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 5/8] eal: remove packed attribute from mcfg structure Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 6/8] eal: uninline wait for mcfg complete function Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 7/8] eal: unify and move " Anatoly Burakov
2019-07-05 13:10 ` [dpdk-dev] [PATCH v4 8/8] eal: unify internal config initialization Anatoly Burakov
2019-06-27 11:38 ` [dpdk-dev] [PATCH v3 01/14] eal: add API to lock/unlock memory hotplug Anatoly Burakov
2019-06-27 11:38 ` [dpdk-dev] [PATCH v3 02/14] drivers: use new memory locking API Anatoly Burakov
2019-06-27 11:38 ` [dpdk-dev] [PATCH v3 03/14] lib: " Anatoly Burakov
2019-06-27 11:38 ` [dpdk-dev] [PATCH v3 04/14] eal: add EAL tailq list lock/unlock API Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 05/14] lib: use new tailq locking API Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 06/14] eal: add new API to lock/unlock mempool list Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 07/14] mempool: use new mempool list locking API Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 08/14] eal: remove unused macros Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 09/14] eal: hide shared memory config Anatoly Burakov
2019-07-04 7:43 ` David Marchand
2019-07-04 10:47 ` Burakov, Anatoly
2019-07-04 10:52 ` David Marchand
2019-07-04 19:51 ` Thomas Monjalon [this message]
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 10/14] eal: remove packed attribute from mcfg structure Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 11/14] eal: uninline wait for mcfg complete function Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 12/14] eal: unify and move " Anatoly Burakov
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 13/14] eal: unify internal config initialization Anatoly Burakov
2019-07-04 7:50 ` David Marchand
2019-07-04 7:56 ` David Marchand
2019-07-04 10:50 ` Burakov, Anatoly
2019-07-04 10:54 ` David Marchand
2019-07-04 11:26 ` Burakov, Anatoly
2019-06-27 11:39 ` [dpdk-dev] [PATCH v3 14/14] eal: prevent different primary/secondary process versions Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 01/14] eal: add API to lock/unlock memory hotplug Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 02/14] drivers: use new memory locking API Anatoly Burakov
2019-06-27 9:24 ` Hemant Agrawal
2019-06-28 15:21 ` Yongseok Koh
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 03/14] lib: " Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 04/14] eal: add EAL tailq list lock/unlock API Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 05/14] lib: use new tailq locking API Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 06/14] eal: add new API to lock/unlock mempool list Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 07/14] mempool: use new mempool list locking API Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 08/14] eal: remove unused macros Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 09/14] eal: hide shared memory config Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 10/14] eal: remove packed attribute from mcfg structure Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 11/14] eal: uninline wait for mcfg complete function Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 12/14] eal: unify and move " Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 13/14] eal: unify internal config initialization Anatoly Burakov
2019-06-25 16:05 ` [dpdk-dev] [PATCH v2 14/14] eal: prevent different primary/secondary process versions Anatoly Burakov
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=1598886.Pakv32BBGA@xps \
--to=thomas@monjalon.net \
--cc=anatoly.burakov@intel.com \
--cc=arybchenko@solarflare.com \
--cc=bruce.richardson@intel.com \
--cc=byron.marohn@intel.com \
--cc=david.hunt@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=john.mcnamara@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=marko.kovacevic@intel.com \
--cc=nhorman@tuxdriver.com \
--cc=olivier.matz@6wind.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=reshma.pattan@intel.com \
--cc=sameh.gobriel@intel.com \
--cc=stephen@networkplumber.org \
--cc=vladimir.medvedkin@intel.com \
--cc=yipeng1.wang@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).