From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [patch iproute2] tc: add -bs option for batch mode Date: Wed, 20 Dec 2017 07:17:44 -0800 Message-ID: <20171220071744.25f9dd41@xeon-e3> References: <20171219063346.19300-1-chrism@mellanox.com> <20171219072231.055bcc9d@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "netdev@vger.kernel.org" , "gerlitz.or@gmail.com" To: Chris Mi Return-path: Received: from mail-pf0-f195.google.com ([209.85.192.195]:46557 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755262AbdLTPRr (ORCPT ); Wed, 20 Dec 2017 10:17:47 -0500 Received: by mail-pf0-f195.google.com with SMTP id c204so12671733pfc.13 for ; Wed, 20 Dec 2017 07:17:47 -0800 (PST) In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Wed, 20 Dec 2017 09:23:34 +0000 Chris Mi wrote: > > Your real performance win is just not asking for ACK for every rule. > No. Even if batch_size > 1, we ack every rule. The real performance win is > to send multiple rules in one system call. If we are not asking for ACK for every rule, > the performance will be improved further. Try the no ACK method. When we were optimizing routing daemons like Quagga, it was discovered that an ACK for every route insert was the main bottleneck. Doing asynchronous error handling got a bigger win than your batching. Please try that, doing multiple messages using iov is not necessary.