From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 1DB9420F for ; Mon, 22 May 2017 14:07:18 +0200 (CEST) Received: from pure.maildistiller.com (unknown [10.110.50.29]) by dispatch1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTP id A395160058; Mon, 22 May 2017 12:07:17 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx2-us4.ppe-hosted.com (unknown [10.110.49.251]) by pure.maildistiller.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 4CA0B60053; Mon, 22 May 2017 12:07:16 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2-us4.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 0E66320069; Mon, 22 May 2017 12:07:15 +0000 (UTC) Received: from [192.168.38.17] (84.52.89.52) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Mon, 22 May 2017 13:07:09 +0100 To: Ferruh Yigit , References: <1495023908-10977-1-git-send-email-arybchenko@solarflare.com> <1495116004-11761-1-git-send-email-arybchenko@solarflare.com> <1495116004-11761-3-git-send-email-arybchenko@solarflare.com> <45b5b0a6-a5be-88d7-734f-c2b1dd1b31be@intel.com> From: Andrew Rybchenko Message-ID: Date: Mon, 22 May 2017 15:07:05 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <45b5b0a6-a5be-88d7-734f-c2b1dd1b31be@intel.com> X-Originating-IP: [84.52.89.52] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23084.003 X-TM-AS-Result: No--7.202100-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1495454836-9xFYqe1oQ26N Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v2 3/3] net/sfc: support multi-process 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: Mon, 22 May 2017 12:07:18 -0000 On 05/22/2017 02:29 PM, Ferruh Yigit wrote: > On 5/18/2017 3:00 PM, Andrew Rybchenko wrote: >> Signed-off-by: Andrew Rybchenko >> Reviewed-by: Andy Moreton > <...> > >> Linux VFIO = Y >> diff --git a/drivers/net/sfc/sfc.h b/drivers/net/sfc/sfc.h >> index 772a713..007ed24 100644 >> --- a/drivers/net/sfc/sfc.h >> +++ b/drivers/net/sfc/sfc.h >> @@ -225,7 +225,18 @@ struct sfc_adapter { >> uint8_t rss_key[SFC_RSS_KEY_SIZE]; >> #endif >> >> + /* >> + * Shared memory copy of the Rx datapath name to be used by >> + * the secondary process to find Rx datapath to be used. >> + */ >> + char *dp_rx_name; > Why not use sa->dp_rx->dp.name to find the dp_rx? That variable should > be shared between processes already? sa->dp_rx is a pointer to .data section (sfc_efx_rx or sfc_ef10_rx) which is (may be) different in primary and secondary processes. > <...> > >> diff --git a/drivers/net/sfc/sfc_ef10_rx.c b/drivers/net/sfc/sfc_ef10_rx.c >> index 1484bab..60812cb 100644 >> --- a/drivers/net/sfc/sfc_ef10_rx.c >> +++ b/drivers/net/sfc/sfc_ef10_rx.c >> @@ -699,7 +699,7 @@ struct sfc_dp_rx sfc_ef10_rx = { >> .type = SFC_DP_RX, >> .hw_fw_caps = SFC_DP_HW_FW_CAP_EF10, >> }, >> - .features = 0, >> + .features = SFC_DP_RX_FEAT_MULTI_PROCESS, > Why this flag is needed, I mean why multi process support is not always > enabled by default? libefx-based datapath intensively uses function pointers (primary process function pointers stored in data structures). So, it does not work in multi process. > <...>