From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH RFC 0/3] DPDK ethdev callback support Date: Mon, 22 Dec 2014 18:02:53 +0100 Message-ID: <1698504.LDQKkGMxYZ@xps13> References: <1419266844-4848-1-git-send-email-bruce.richardson@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: Bruce Richardson Return-path: In-Reply-To: <1419266844-4848-1-git-send-email-bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi Bruce, Callbacks, as hooks for applications, give more flexibility and are generally a good idea. In DPDK the main issue will be to avoid performance degradation. I see you use "unlikely" for callback branching. Could we reduce more the impact of this test by removing the queue array, i.e. having port-wide callbacks instead of per-queue callbacks? 2014-12-22 16:47, Bruce Richardson: > Future extensions: in future the ethdev library can be extended to provide > a standard set of callbacks for use by drivers. Having callbacks for drivers seems strange to me. If drivers need to accomplish some tasks, they do it by implementing an ethdev service. New services are declared for new needs. Callbacks are the reverse logic. Why should it be needed? > For now this patch set is RFC and still needs additional work for creating > a remove function for callbacks and to add in additional testing code. > Since this adds in new code into the critical data path, I have run some > performance tests using testpmd with the ixgbe vector drivers (i.e. the > fastest, fast-path we have :-) ). Performance drops due to this patch > seems minimal to non-existant, rough tests on my system indicate a drop > of perhaps 1%. > > All feedback welcome. It would be good to have more performance tests with different configurations. Thanks -- Thomas