From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 26A1CA051F;
	Wed, 10 Jun 2020 17:14:07 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 5F4211BEDC;
	Wed, 10 Jun 2020 17:14:06 +0200 (CEST)
Received: from mga04.intel.com (mga04.intel.com [192.55.52.120])
 by dpdk.org (Postfix) with ESMTP id A5E301BED9
 for <dev@dpdk.org>; Wed, 10 Jun 2020 17:14:04 +0200 (CEST)
IronPort-SDR: h3A3bAVG3XptFgSTPdKtL9hM/B26eCEUx3RM7LAyiQvQXXq3Kmb4ligvzzUZ96PGyqq8zRjfBp
 1TzBjzhv4DAQ==
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Jun 2020 08:14:03 -0700
IronPort-SDR: Xol7lrhejtpKhqPXkQ6m3Lt95KFAOC7jXqXQ0KgW6uGweHGg5vKzavl2u+tE5MwRyoRqRfK9Xc
 pqdQRYQdHMEQ==
X-IronPort-AV: E=Sophos;i="5.73,496,1583222400"; d="scan'208";a="289216115"
Received: from bricha3-mobl.ger.corp.intel.com ([10.252.14.164])
 by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA;
 10 Jun 2020 08:14:01 -0700
Date: Wed, 10 Jun 2020 16:13:58 +0100
From: Bruce Richardson <bruce.richardson@intel.com>
To: Jerin Jacob <jerinjacobk@gmail.com>
Cc: David Marchand <david.marchand@redhat.com>, dpdk-dev <dev@dpdk.org>
Message-ID: <20200610151358.GC1587@bricha3-MOBL.ger.corp.intel.com>
References: <20200610144506.30505-1-david.marchand@redhat.com>
 <CALBAE1MtGgC-eMx=GsegBY6-kpnyYOom2vs9o3eoXKimQQoM2g@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CALBAE1MtGgC-eMx=GsegBY6-kpnyYOom2vs9o3eoXKimQQoM2g@mail.gmail.com>
Subject: Re: [dpdk-dev] [PATCH 0/7] Register external threads as lcore
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On Wed, Jun 10, 2020 at 08:39:30PM +0530, Jerin Jacob wrote:
> On Wed, Jun 10, 2020 at 8:15 PM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > OVS and some other applications have been hacking into DPDK internals to
> > fake EAL threads and avoid performance penalty of only having non-EAL
> > threads.
> >
> > This series proposes to add a new type of lcores and maps those external
> > threads to such lcores.
> > Those threads won't run the DPDK eal mainloop and as a consequence part of
> > the EAL threads API cannot work.
> >
> > Having new lcores appearing during the process lifetime is not expected
> > by some DPDK components. This is addressed by notifying of such lcore
> > hotplug.
> >
> > This patchset has still some more work (like refusing new lcore type in
> > incompatible EAL threads API, updating the documentation and adding unit
> > tests) but I am sending it anyway as I would like to get this in for
> > 20.08.
> 
> Cool feature.
> 

+1 for this, this is something that I think has been needed for a long
time. Thanks!

> Is mempool's lcore local cache working for external cores with this scheme?
> 
> 
> >
> > For the interested parties, I have a patch [1] against dpdk-latest OVS
> > branch that makes use of this series.
> >
> > 1: https://github.com/david-marchand/ovs/commit/dpdk-latest-external-lcores
> 
> Usage is clear from the example code,
> Looking forward to having documentation and UT for the new API
> in the next version.
> 
Yes, I think we need a doc update explaining usage. The EAL chapter of the
programmers guide needs an update [1], and I think a description in the
howto would be good also [2].

[1] https://doc.dpdk.org/guides-20.05/prog_guide/env_abstraction_layer.html
[2] https://doc.dpdk.org/guides-20.05/howto/index.html

Regards,
/Bruce