{"id":807443,"url":"http://patchwork.ozlabs.org/api/1.0/covers/807443/?format=json","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.0/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<1504074719-15147-1-git-send-email-chrism@mellanox.com>","date":"2017-08-30T06:31:56","name":"[net-next,v2,0/3] net/sched: Improve getting objects by indexes","submitter":{"id":72170,"url":"http://patchwork.ozlabs.org/api/1.0/people/72170/?format=json","name":"Chris Mi","email":"chrism@mellanox.com"},"series":[{"id":534,"url":"http://patchwork.ozlabs.org/api/1.0/series/534/?format=json","date":"2017-08-30T06:31:56","name":"net/sched: Improve getting objects by indexes","version":2,"mbox":"http://patchwork.ozlabs.org/series/534/mbox/"}],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xhwfD53Zfz9s7F\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 30 Aug 2017 16:32:20 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750835AbdH3GcQ (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 30 Aug 2017 02:32:16 -0400","from mail-il-dmz.mellanox.com ([193.47.165.129]:37916 \"EHLO\n\tmellanox.co.il\" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org\n\twith ESMTP id S1750746AbdH3GcP (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 30 Aug 2017 02:32:15 -0400","from Internal Mail-Server by MTLPINE1 (envelope-from\n\tchrism@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 30 Aug 2017 09:32:13 +0300","from dev-r630-04.mtbc.labs.mlnx (dev-r630-04.mtbc.labs.mlnx\n\t[10.12.205.14])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v7U6WBVR010171;\n\tWed, 30 Aug 2017 09:32:11 +0300"],"From":"Chris Mi <chrism@mellanox.com>","To":"netdev@vger.kernel.org","Cc":"jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us,\n\tdavem@davemloft.net, mawilcox@microsoft.com","Subject":"[patch net-next v2 0/3] net/sched: Improve getting objects by\n\tindexes","Date":"Wed, 30 Aug 2017 02:31:56 -0400","Message-Id":"<1504074719-15147-1-git-send-email-chrism@mellanox.com>","X-Mailer":"git-send-email 1.8.3.1","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"Using current TC code, it is very slow to insert a lot of rules.\n\nIn order to improve the rules update rate in TC,\nwe introduced the following two changes:\n        1) changed cls_flower to use IDR to manage the filters.\n        2) changed all act_xxx modules to use IDR instead of\n           a small hash table\n\nBut IDR has a limitation that it uses int. TC handle uses u32.\nTo make sure there is no regression, we add several new IDR APIs\nto support unsigned long.\n\nv2\n==\n\nAddressed Hannes's comment:\nexpress idr_alloc in terms of idr_alloc_ext and most of the other functions\n\nChris Mi (3):\n  idr: Add new APIs to support unsigned long\n  net/sched: Change cls_flower to use IDR\n  net/sched: Change act_api and act_xxx modules to use IDR\n\n include/linux/idr.h        |  69 ++++++++++++-\n include/linux/radix-tree.h |  21 +++-\n include/net/act_api.h      |  76 +++++---------\n lib/idr.c                  |  66 ++++++------\n lib/radix-tree.c           |   6 +-\n net/sched/act_api.c        | 251 ++++++++++++++++++++++-----------------------\n net/sched/act_bpf.c        |  17 ++-\n net/sched/act_connmark.c   |  16 ++-\n net/sched/act_csum.c       |  16 ++-\n net/sched/act_gact.c       |  16 ++-\n net/sched/act_ife.c        |  20 ++--\n net/sched/act_ipt.c        |  26 +++--\n net/sched/act_mirred.c     |  19 ++--\n net/sched/act_nat.c        |  16 ++-\n net/sched/act_pedit.c      |  18 ++--\n net/sched/act_police.c     |  18 ++--\n net/sched/act_sample.c     |  17 ++-\n net/sched/act_simple.c     |  20 ++--\n net/sched/act_skbedit.c    |  18 ++--\n net/sched/act_skbmod.c     |  18 ++--\n net/sched/act_tunnel_key.c |  20 ++--\n net/sched/act_vlan.c       |  22 ++--\n net/sched/cls_flower.c     |  55 +++++-----\n 23 files changed, 427 insertions(+), 414 deletions(-)"}