From patchwork Wed May 29 16:30:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Burakov, Anatoly" X-Patchwork-Id: 53828 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A5E731B949; Wed, 29 May 2019 18:31:15 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 789313576 for ; Wed, 29 May 2019 18:31:14 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 May 2019 09:31:13 -0700 X-ExtLoop1: 1 Received: from silpixa00399498.ir.intel.com (HELO silpixa00399498.ger.corp.intel.com) ([10.237.223.125]) by orsmga005.jf.intel.com with ESMTP; 29 May 2019 09:31:11 -0700 From: Anatoly Burakov To: dev@dpdk.org Cc: stephen@networkplumber.org, thomas@monjalon.net, david.marchand@redhat.com Date: Wed, 29 May 2019 17:30:46 +0100 Message-Id: X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH 00/25] Make shared memory config non-public X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patchset removes the shared memory config from public API, and replaces all usages of said config with new API calls. The patchset is mostly a search-and-replace job and should be pretty easy to review. However, the changes to ENA driver are of particular interest, because they're using the shared memory config in a way that i find confusing. I tried to implement the equivalent changes as well as i could, but since the code doesn't make any sense to me, i would really like to request help from ENA maintainers. Everything else should be pretty straightforward. Anatoly Burakov (25): eal: add API to lock/unlock memory hotplug bus/fslmc: use new memory locking API net/mlx4: use new memory locking API net/mlx5: use new memory locking API net/virtio: use new memory locking API mem: use new memory locking API malloc: use new memory locking API vfio: use new memory locking API eal: add EAL tailq list lock/unlock API acl: use new tailq locking API distributor: use new tailq locking API efd: use new tailq locking API eventdev: use new tailq locking API hash: use new tailq locking API lpm: use new tailq locking API member: use new tailq locking API mempool: use new tailq locking API reorder: use new tailq locking API ring: use new tailq locking API stack: use new tailq locking API eal: add new API to lock/unlock mempool list mempool: use new mempool list locking API eal: remove unused macros net/ena: fix direct access to shared memory config eal: hide shared memory config app/test/test_memzone.c | 1 + app/test/test_tailq.c | 1 + drivers/bus/fslmc/fslmc_vfio.c | 8 +- drivers/bus/pci/linux/pci_vfio.c | 1 + drivers/net/ena/ena_ethdev.c | 18 +-- drivers/net/mlx4/mlx4_mr.c | 11 +- drivers/net/mlx5/mlx5_mr.c | 11 +- .../net/virtio/virtio_user/virtio_user_dev.c | 7 +- lib/librte_acl/rte_acl.c | 20 +-- lib/librte_distributor/rte_distributor.c | 5 +- lib/librte_distributor/rte_distributor_v20.c | 5 +- lib/librte_eal/common/eal_common_memory.c | 128 +++++++++++++--- lib/librte_eal/common/eal_common_memzone.c | 1 + lib/librte_eal/common/eal_common_tailqs.c | 1 + lib/librte_eal/common/eal_memcfg.h | 75 +++++++++ lib/librte_eal/common/include/rte_eal.h | 10 -- .../common/include/rte_eal_memconfig.h | 143 ++++++++++-------- lib/librte_eal/common/malloc_heap.c | 16 +- lib/librte_eal/common/malloc_mp.c | 1 + lib/librte_eal/common/rte_malloc.c | 33 ++-- lib/librte_eal/freebsd/eal/eal_memory.c | 1 + lib/librte_eal/linux/eal/eal.c | 1 + lib/librte_eal/linux/eal/eal_memalloc.c | 1 + lib/librte_eal/linux/eal/eal_memory.c | 1 + lib/librte_eal/linux/eal/eal_vfio.c | 17 +-- lib/librte_eal/rte_eal_version.map | 18 +++ lib/librte_efd/rte_efd.c | 15 +- lib/librte_eventdev/rte_event_ring.c | 16 +- lib/librte_hash/rte_cuckoo_hash.c | 17 ++- lib/librte_hash/rte_fbk_hash.c | 15 +- lib/librte_kni/rte_kni.c | 16 +- lib/librte_lpm/rte_lpm.c | 25 +-- lib/librte_lpm/rte_lpm6.c | 15 +- lib/librte_member/rte_member.c | 17 ++- lib/librte_mempool/rte_mempool.c | 27 ++-- lib/librte_reorder/rte_reorder.c | 15 +- lib/librte_ring/rte_ring.c | 19 +-- lib/librte_stack/rte_stack.c | 18 +-- 38 files changed, 460 insertions(+), 290 deletions(-) create mode 100644 lib/librte_eal/common/eal_memcfg.h