From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 93925A046B for ; Fri, 26 Jul 2019 11:50:45 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E5C821C404; Fri, 26 Jul 2019 11:50:44 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 045BF1C380 for ; Fri, 26 Jul 2019 11:50:42 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jul 2019 02:50:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,310,1559545200"; d="scan'208";a="172148647" Received: from irsmsx106.ger.corp.intel.com ([163.33.3.31]) by fmsmga007.fm.intel.com with ESMTP; 26 Jul 2019 02:50:41 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.164]) by IRSMSX106.ger.corp.intel.com ([169.254.8.234]) with mapi id 14.03.0439.000; Fri, 26 Jul 2019 10:50:40 +0100 From: "Ananyev, Konstantin" To: "Richardson, Bruce" , "Burakov, Anatoly" CC: "dev@dpdk.org" , Thomas Monjalon Thread-Topic: [dpdk-dev] Should we disallow running secondaries after primary has died? Thread-Index: AQHVQ5YrwEXDYWz9Q0WcGNapIePSh6bcpjDw Date: Fri, 26 Jul 2019 09:50:39 +0000 Message-ID: <2601191342CEEE43887BDE71AB9772580168A5BA83@irsmsx105.ger.corp.intel.com> References: <29cf5458-8459-0187-13b1-44277283fc93@intel.com> <20190726093951.GA1629@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: <20190726093951.GA1629@bricha3-MOBL.ger.corp.intel.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOGQ0ZjljM2EtNDI3MC00ODlkLTg1ZTAtM2E3OWQ4ZTY5NmMwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTU9URDZvdkFFRkxvUEdJMENFbEdcL0FqaXc5WUNuV0QxMEhZXC9mOHFLaWo5YUxBb3NzS09mdHd0UGl4RVE3ZWFrIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] Should we disallow running secondaries after primary has died? 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" > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson > Sent: Friday, July 26, 2019 10:40 AM > To: Burakov, Anatoly > Cc: dev@dpdk.org; Thomas Monjalon > Subject: Re: [dpdk-dev] Should we disallow running secondaries after prim= ary has died? >=20 > On Fri, Jul 26, 2019 at 10:05:02AM +0100, Burakov, Anatoly wrote: > > Hi all, > > > > While investigating this bug: > > > > https://bugs.dpdk.org/show_bug.cgi?id=3D284 > > > > I came across a realization that, when primary process dies, very littl= e > > actually works. There are some documented issues that are already prese= nt > > when secondary processes keep running, like memory map becoming static,= and > > hotplug not working any more. > > > > What is less known (and documented) is that VFIO also completely stops > > working when initializing processes, because some time since 18.xx rele= ases, > > we've fixed a long standing VFIO-related bug that had to do with creati= ng > > new containers every time a secondary is run - secondary processes will= now > > reuse the primary process's container instead. > > > > Meaning, for VFIO devices, secondary process *initialization* will fail > > after primary process has died, because there is no longer a process fr= om > > which we can get the VFIO container from. Things will still sort-of wor= k > > with igb_uio or in vfio-noiommu mode, but again - no memory map updates= , no > > hotplug, potentially other things that i don't even know about. > > > > Therefore, while ideally we would like people to have primary process a= lways > > running, the least we can do to avoid documenting a complex matrix of "= what > > is supported in which case" is to disallow secondary process initializa= tion > > after primary process has died. > > > > ("disallow" as in "explicitly document it as unsupported", although we = can > > also outright prevent it if we want - rte_eal_primary_proc_alive() will= tell > > us that) > > > Documenting this limitation seems a good thing to do. I'm not sure that > it's worthwhile trying to make the scenario (of running a secondary after= a > primary has terminated) supported. >=20 > /Bruce NP to disallow it. In fact, I think it would be easier for everyone just to drop current DPDK = MP model, and keep just standalone DPDK instances. =20