From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by dpdk.org (Postfix) with ESMTP id C4C825942 for ; Wed, 3 Apr 2019 05:05:01 +0200 (CEST) Received: by mail-pg1-f170.google.com with SMTP id v12so7558530pgq.1 for ; Tue, 02 Apr 2019 20:05:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=2FEFQ0ExygNbXdKy0w2kNAriXWICAmfgfHVQylWjTEQ=; b=QEaWGvV5Dfupq9Ir7FNenGuUGpugTKAZnPV0y2ONKX9oGbtlmLjslmMi9dophol0ou ermoWSNXtxboA4vI0K15D8YibPODjg8s8GNJuppaQMlHiJtdxGCh57Oa/ruTaNbd5Bte jKxkA61P0hVqj9hHFIryWjCI88lZcw9lncpBg3hVG5mugcRQGjA2o57BNo3CopMexyvm 5AAraA6hEbeoLkpfdxMC8IHE1nE/fX65uW1RgGT6NhFWFA1AG+EGRiPfMhMnYI/e3t/M zOoOBPKjngnZ6Vfnp3VnH1P5Swqsg8/5J9mD8ShptTKsRzWw5XuwSYpvdPLU9BGmRXJh 9Wrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=2FEFQ0ExygNbXdKy0w2kNAriXWICAmfgfHVQylWjTEQ=; b=SGXvFLtxnuPHeVaC2Roo68DyW75u5lNEzYhd7z4otbLetRzYmgxtSdk8cnJouvwZz/ yGIO632HyvbZXrWUTEoFWKVxjpHtm/aVSkbNUKlm1YZ3C/ycQwOM8k6MMKD4kHHKJ/Wa 6mLsmREkJV5MqeKVgdNrq70Fbf36IgWtiMd+6vNwYZxNrWoD/eyXASktgDH/V5phs+h+ SIv1+Cqm23ToPTlIUuARfHboMD8Lq81DT20ncPqOigz6b6Sr42WgVFdpB3EAWCIcX6Tu QvGXf5Iu1LRpSB3iKML+wqaYtsrtGTFRe+H1cf3aP3QQaAJy6yQHb2Im5UMjaTrLsxlZ yFOQ== X-Gm-Message-State: APjAAAW35k40nhlHvQ8jMojzNu1AX3/YdD1Xhs9n7/z9x1qZOWRxi1Tj QEfL57yq0yeqlUQxwp1Pp2iIEx5QYaY0/w== X-Google-Smtp-Source: APXvYqwS/BYPC8yHaQ7w0EtOSpMmxCoiNlY6u6B4Bl2pLl6uDAxWpfkOlo+W6wrfvmCq7IFfwg86qg== X-Received: by 2002:a63:4342:: with SMTP id q63mr69421726pga.6.1554260700240; Tue, 02 Apr 2019 20:05:00 -0700 (PDT) Received: from shemminger-XPS-13-9360 (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s4sm16724382pgp.89.2019.04.02.20.04.58 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 20:04:59 -0700 (PDT) Date: Tue, 2 Apr 2019 20:04:52 -0700 From: Stephen Hemminger To: dev@dpdk.org Message-ID: <20190402200452.7dd4f029@shemminger-XPS-13-9360> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] EAL lcore config 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: , X-List-Received-Date: Wed, 03 Apr 2019 03:05:02 -0000 Currently the DPDK Environment Abstraction Layer has its guts on the floor ;-) The data structure for lcore config is a holey mess and changing it would break the ABI. I propose that for 19.05 we introduce accessor functions and change all internal (out side of eal directory) to use those. And add a deprecation notice. For 19.08, we can mark the data structure as deprecated but keep it the same. Any thing built from source that hits the global variable will get a warning. Binaries will still run unmodified. For 19.11, lcore_config can be moved to eal_private.h where it belongs, and some simple rearrangements will shrink it and get almost all data on the same cache line. This breaks ABI but API stays the same as 19.05 After that some of the debris can be cleaned out without affecting API or ABI in future. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id E1C62A0679 for ; Wed, 3 Apr 2019 05:05:04 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7B6F35F0F; Wed, 3 Apr 2019 05:05:03 +0200 (CEST) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by dpdk.org (Postfix) with ESMTP id C4C825942 for ; Wed, 3 Apr 2019 05:05:01 +0200 (CEST) Received: by mail-pg1-f170.google.com with SMTP id v12so7558530pgq.1 for ; Tue, 02 Apr 2019 20:05:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=2FEFQ0ExygNbXdKy0w2kNAriXWICAmfgfHVQylWjTEQ=; b=QEaWGvV5Dfupq9Ir7FNenGuUGpugTKAZnPV0y2ONKX9oGbtlmLjslmMi9dophol0ou ermoWSNXtxboA4vI0K15D8YibPODjg8s8GNJuppaQMlHiJtdxGCh57Oa/ruTaNbd5Bte jKxkA61P0hVqj9hHFIryWjCI88lZcw9lncpBg3hVG5mugcRQGjA2o57BNo3CopMexyvm 5AAraA6hEbeoLkpfdxMC8IHE1nE/fX65uW1RgGT6NhFWFA1AG+EGRiPfMhMnYI/e3t/M zOoOBPKjngnZ6Vfnp3VnH1P5Swqsg8/5J9mD8ShptTKsRzWw5XuwSYpvdPLU9BGmRXJh 9Wrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=2FEFQ0ExygNbXdKy0w2kNAriXWICAmfgfHVQylWjTEQ=; b=SGXvFLtxnuPHeVaC2Roo68DyW75u5lNEzYhd7z4otbLetRzYmgxtSdk8cnJouvwZz/ yGIO632HyvbZXrWUTEoFWKVxjpHtm/aVSkbNUKlm1YZ3C/ycQwOM8k6MMKD4kHHKJ/Wa 6mLsmREkJV5MqeKVgdNrq70Fbf36IgWtiMd+6vNwYZxNrWoD/eyXASktgDH/V5phs+h+ SIv1+Cqm23ToPTlIUuARfHboMD8Lq81DT20ncPqOigz6b6Sr42WgVFdpB3EAWCIcX6Tu QvGXf5Iu1LRpSB3iKML+wqaYtsrtGTFRe+H1cf3aP3QQaAJy6yQHb2Im5UMjaTrLsxlZ yFOQ== X-Gm-Message-State: APjAAAW35k40nhlHvQ8jMojzNu1AX3/YdD1Xhs9n7/z9x1qZOWRxi1Tj QEfL57yq0yeqlUQxwp1Pp2iIEx5QYaY0/w== X-Google-Smtp-Source: APXvYqwS/BYPC8yHaQ7w0EtOSpMmxCoiNlY6u6B4Bl2pLl6uDAxWpfkOlo+W6wrfvmCq7IFfwg86qg== X-Received: by 2002:a63:4342:: with SMTP id q63mr69421726pga.6.1554260700240; Tue, 02 Apr 2019 20:05:00 -0700 (PDT) Received: from shemminger-XPS-13-9360 (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s4sm16724382pgp.89.2019.04.02.20.04.58 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 20:04:59 -0700 (PDT) Date: Tue, 2 Apr 2019 20:04:52 -0700 From: Stephen Hemminger To: dev@dpdk.org Message-ID: <20190402200452.7dd4f029@shemminger-XPS-13-9360> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] EAL lcore config 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" Message-ID: <20190403030452.CIIbBDtB1D3My-wFGGyeODTmM80dFuJR9WJjxq80r8w@z> Currently the DPDK Environment Abstraction Layer has its guts on the floor ;-) The data structure for lcore config is a holey mess and changing it would break the ABI. I propose that for 19.05 we introduce accessor functions and change all internal (out side of eal directory) to use those. And add a deprecation notice. For 19.08, we can mark the data structure as deprecated but keep it the same. Any thing built from source that hits the global variable will get a warning. Binaries will still run unmodified. For 19.11, lcore_config can be moved to eal_private.h where it belongs, and some simple rearrangements will shrink it and get almost all data on the same cache line. This breaks ABI but API stays the same as 19.05 After that some of the debris can be cleaned out without affecting API or ABI in future.