{"id":806401,"url":"http://patchwork.ozlabs.org/api/1.0/covers/806401/?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":"<1503902477-39829-1-git-send-email-chrism@mellanox.com>","date":"2017-08-28T06:41:14","name":"[net-next,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":87,"url":"http://patchwork.ozlabs.org/api/1.0/series/87/?format=json","date":"2017-08-28T06:41:15","name":"net/sched: Improve getting objects by indexes","version":1,"mbox":"http://patchwork.ozlabs.org/series/87/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 3xghyB56TPz9sNq\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon, 28 Aug 2017 16:41:54 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751259AbdH1Glx (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tMon, 28 Aug 2017 02:41:53 -0400","from mail-il-dmz.mellanox.com ([193.47.165.129]:48320 \"EHLO\n\tmellanox.co.il\" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org\n\twith ESMTP id S1750879AbdH1Gla (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Mon, 28 Aug 2017 02:41:30 -0400","from Internal Mail-Server by MTLPINE1 (envelope-from\n\tchrism@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 28 Aug 2017 09:41:27 +0300","from bjglab-18.mtbc.labs.mlnx (bjglab-18.mtbc.labs.mlnx\n\t[10.200.0.168])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v7S6fPZm022940;\n\tMon, 28 Aug 2017 09:41:26 +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 0/3] net/sched: Improve getting objects by indexes","Date":"Mon, 28 Aug 2017 02:41:14 -0400","Message-Id":"<1503902477-39829-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\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        |  16 +++\n include/linux/radix-tree.h |   3 +\n include/net/act_api.h      |  76 +++++---------\n lib/idr.c                  |  56 ++++++++++\n lib/radix-tree.c           |  73 +++++++++++++\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, 450 insertions(+), 377 deletions(-)"}