From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f45.google.com (mail-oi0-f45.google.com [209.85.218.45]) by dpdk.org (Postfix) with ESMTP id 6E5AD5A52 for ; Tue, 21 Apr 2015 21:13:23 +0200 (CEST) Received: by oiko83 with SMTP id o83so161003547oik.1 for ; Tue, 21 Apr 2015 12:13:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Csk/lIk5jWnAyY1SMPPP/T5aZW6Si2PIqBo0xRzP1D0=; b=cAp2XKZdHidLvAEtA6k4jgh3lbsBRUvOe1Fxf/obYhLTEzMupTkeiSeU42aNQzO706 2jNOmrErP6yKKTr3xoOan9zarnzwUF6YX1cokM3PvcJIfXPn/qwtDJW24Bs53fqKE9C0 s4uiqe+YLsYR5vgvXTJ/1rE5HRfImBc4aM/eydqnFlcfrZilvrfzHZkMLtoaOIRk/oDc MKdGY7arHq+DTTBYvE+RdhxkDl0XrS89HZYDz0cdniTZgtVJp4w57PUuCi5ct+AerSnU zZOFGxjFltthARoqR4G+qBlBTEAk9YOe31COb1PU/QdF+3h4WvQpQVG6Ynl2qZ6PUUlu kzig== MIME-Version: 1.0 X-Received: by 10.202.79.210 with SMTP id d201mr19298202oib.65.1429643602829; Tue, 21 Apr 2015 12:13:22 -0700 (PDT) Received: by 10.202.179.195 with HTTP; Tue, 21 Apr 2015 12:13:22 -0700 (PDT) In-Reply-To: <20150421143640.GA8388@bricha3-MOBL3> References: <1429386161-12490-1-git-send-email-rkerur@gmail.com> <1429386191-12537-1-git-send-email-rkerur@gmail.com> <1429386191-12537-2-git-send-email-rkerur@gmail.com> <20150421143640.GA8388@bricha3-MOBL3> Date: Tue, 21 Apr 2015 12:13:22 -0700 Message-ID: From: Ravi Kerur To: Bruce Richardson Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v6 2/6] Move common functions in eal.c X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Apr 2015 19:13:24 -0000 On Tue, Apr 21, 2015 at 7:36 AM, Bruce Richardson < bruce.richardson@intel.com> wrote: > On Sat, Apr 18, 2015 at 12:43:07PM -0700, Ravi Kerur wrote: > > Changes in v6 > > Split eal_common_system.c and eal_common_runtime.c into > > eal_common_sysfs.c > > eal_common_mem_cfg.c > > eal_common_proc_type.c > > eal_comm_app_usage.c > > based on functionality. > > > > Changes in v5 > > Rebase to latest code. > > > > Changes in v4 > > Remove eal_externs.h file, instead use _get_ and _set_ APIS > > to access those variables. > > Split eal_common.c into eal_common_system.c and > > and eal_common_runtime.c > > rte_eal prefix functions are moved to _runtime_ and > > eal prefix functions are moved to _system_ files respectively. > > > > Changes in v3 > > Changed subject to be more explicit on file name inclusion. > > > > Changes in v2 > > In function rte_eal_config_create remove #ifdef _BSDAPP_ > > and initialize mem_cfg_addr unconditionally. > > > > Changes in v1 > > Move common functions in eal.c to librte_eal/common/eal_common.c. > > > > Following functions are moved to eal_common.c file. > > > > struct rte_config *rte_eal_get_configuration(void); > > int eal_parse_sysfs_value(const char *filename, unsigned long *val); > > static void rte_eal_config_create(void); > > enum rte_proc_type_t eal_proc_type_detect(void); > > void rte_eal_config_init(void); > > rte_usage_hook_t rte_set_application_usage_hook(rte_usage_hook_t > > usage_func); > > inline size_t eal_get_hugepage_mem_size(void); > > void eal_check_mem_on_local_socket(void); > > int sync_func(__attribute__((unused)) void *arg); > > inline void rte_eal_mcfg_complete(void); > > int rte_eal_has_hugepages(void); > > enum rte_lcore_role_t rte_eal_lcore_role(unsigned lcore_id); > > enum rte_proc_type_t rte_eal_process_type(void); > > > > Makefile changes to reflect new files added. > > Fix checkpatch warnings and errors. > > > > Signed-off-by: Ravi Kerur > > --- > > lib/librte_eal/bsdapp/eal/Makefile | 4 + > > lib/librte_eal/bsdapp/eal/eal.c | 271 > +++--------------------- > > lib/librte_eal/common/eal_common_app_usage.c | 63 ++++++ > > lib/librte_eal/common/eal_common_mem_cfg.c | 217 ++++++++++++++++++++ > > lib/librte_eal/common/eal_common_proc_type.c | 58 ++++++ > > lib/librte_eal/common/eal_common_sysfs.c | 163 +++++++++++++++ > > lib/librte_eal/common/eal_hugepages.h | 1 + > > lib/librte_eal/common/eal_private.h | 78 +++++++ > > lib/librte_eal/common/include/rte_eal.h | 4 + > > lib/librte_eal/linuxapp/eal/Makefile | 4 + > > lib/librte_eal/linuxapp/eal/eal.c | 296 > ++++----------------------- > > 11 files changed, 668 insertions(+), 491 deletions(-) > > create mode 100644 lib/librte_eal/common/eal_common_app_usage.c > > create mode 100644 lib/librte_eal/common/eal_common_mem_cfg.c > > create mode 100644 lib/librte_eal/common/eal_common_proc_type.c > > create mode 100644 lib/librte_eal/common/eal_common_sysfs.c > > > On applying this patch in the series I'm getting compiler errors. With > clang on > linux (and BSD), I get errors about undefined inline functions e.g.: > > In file included from /home/bruce/ > dpdk.org/lib/librte_eal/linuxapp/eal/eal.c:84: > /home/bruce/dpdk.org/lib/librte_eal/common/eal_hugepages.h:66:15: error: > inline function 'eal_get_hugepage_mem_size' is not defined > [-Werror,-Wundefined-inline] > inline size_t eal_get_hugepage_mem_size(void); > ^ > /home/bruce/dpdk.org/lib/librte_eal/linuxapp/eal/eal.c:549:29: > note: used here > internal_config.memory = > eal_get_hugepage_mem_size(); > > ICC is also giving a (different error): > > CC eal_common_sysfs.o > /home/bruce/dpdk.org/lib/librte_eal/common/eal_common_sysfs.c(159): > error #188: enumerated type mixed with another type > return -1; > > Thanks Bruce for reporting these errors. My plan was to wait for final "OK" from Thomas for v6 patches esp. on changes for split in eal.c and eal_pci.c files. Currently my testing includes 1. Compiling with gcc 4.8.2 on Ubuntu and freeBSD 2. "make test" and testpmd on Linux 3. Basic testpmd on freeBSD I will definitely fix these before sending out next version. Regarding installation of "ICC" compiler, I had tried following Intel reference https://software.intel.com/en-us/articles/intel-compilers-linux-installation-help At least my understanding was it required License from Intel. Please let me know for any alternate way of getting ICC. Thanks, Ravi > Regards, > /Bruce > >