From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f169.google.com (mail-wi0-f169.google.com [209.85.212.169]) by dpdk.org (Postfix) with ESMTP id AAD3C9622 for ; Mon, 22 Dec 2014 18:03:20 +0100 (CET) Received: by mail-wi0-f169.google.com with SMTP id r20so11043297wiv.4 for ; Mon, 22 Dec 2014 09:03:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=MK8n2dwlnjsFjx5zf3XteQsPMTC4wQ4AapnD3R2KulI=; b=NL9jXueKXTWB8TyNVgA4TgPdXziPjfV7fh2hfV+HcSQ3LArt0h9Ec/cqNmN+CTyeDI 9GVa9pGZxW1bdQc3MJjViO0sEN24fph90mfH2dvfx0/m5T8wKbz74j5k5b1cKfNrt0yJ JqDwsNZ/2IybvOvtMwNYnuv88JmzIH6EGsafGiCogxRtcqgvpndQ4pe9iBOD2N4nCEW4 gSegiI4ZVOJH6rVPKTXpewGhtWZ6ssm5tfft955npD1/HjiaQCUQw7WK4OjYN3IjF3UQ /ZRCGCEwbcf5zRpz/0cRb4ZU0eFOyzchfD4rnSukO8eq/vDvhRCNjLYspy9pQqYpF8cb 0udA== X-Gm-Message-State: ALoCoQlotvHcHlG00ab/BXGYqmLve17ZAFL+FHnnckULsLST59evZFzWjyRF10hJCVjiJANXEc3t X-Received: by 10.180.90.165 with SMTP id bx5mr33722760wib.15.1419267800553; Mon, 22 Dec 2014 09:03:20 -0800 (PST) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id q7sm14003274wiv.8.2014.12.22.09.03.19 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Dec 2014 09:03:19 -0800 (PST) From: Thomas Monjalon To: Bruce Richardson Date: Mon, 22 Dec 2014 18:02:53 +0100 Message-ID: <1698504.LDQKkGMxYZ@xps13> Organization: 6WIND User-Agent: KMail/4.14.3 (Linux/3.17.6-1-ARCH; KDE/4.14.3; x86_64; ; ) In-Reply-To: <1419266844-4848-1-git-send-email-bruce.richardson@intel.com> References: <1419266844-4848-1-git-send-email-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH RFC 0/3] DPDK ethdev callback support 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: Mon, 22 Dec 2014 17:03:20 -0000 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