Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/833256/?format=api
{ "id": 833256, "url": "http://patchwork.ozlabs.org/api/1.2/patches/833256/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20171102083136.2096-5-jakub.kicinski@netronome.com/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/1.2/projects/7/?format=api", "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, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20171102083136.2096-5-jakub.kicinski@netronome.com>", "list_archive_url": null, "date": "2017-11-02T08:31:32", "name": "[net-next,4/8] nfp: reorganize the app table", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "756ff0648e2de655b9c0b25e48b1514bef62c25f", "submitter": { "id": 67484, "url": "http://patchwork.ozlabs.org/api/1.2/people/67484/?format=api", "name": "Jakub Kicinski", "email": "jakub.kicinski@netronome.com" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/1.2/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20171102083136.2096-5-jakub.kicinski@netronome.com/mbox/", "series": [ { "id": 11454, "url": "http://patchwork.ozlabs.org/api/1.2/series/11454/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=11454", "date": "2017-11-02T08:31:28", "name": "nfp: TC block fixes, app fallback and dev_alloc()", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/11454/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/833256/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/833256/checks/", "tags": {}, "related": [], "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>)", "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=netronome-com.20150623.gappssmtp.com\n\theader.i=@netronome-com.20150623.gappssmtp.com\n\theader.b=\"IrBbyims\"; dkim-atps=neutral" ], "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3ySJJ86Cb8z9t2f\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 2 Nov 2017 19:33:12 +1100 (AEDT)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1755455AbdKBIdC (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 2 Nov 2017 04:33:02 -0400", "from mail-pg0-f65.google.com ([74.125.83.65]:47399 \"EHLO\n\tmail-pg0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1755390AbdKBIcZ (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 2 Nov 2017 04:32:25 -0400", "by mail-pg0-f65.google.com with SMTP id r25so4436967pgn.4\n\tfor <netdev@vger.kernel.org>; Thu, 02 Nov 2017 01:32:25 -0700 (PDT)", "from jkicinski-Precision-T1700.netronome.com ([75.53.12.129])\n\tby smtp.gmail.com with ESMTPSA id\n\tz13sm5390484pgc.29.2017.11.02.01.32.24\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tThu, 02 Nov 2017 01:32:24 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=netronome-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=jsGEobbnnsIgQgxUiopNVYwazXRH87IBzBk72PwhI84=;\n\tb=IrBbyimsi9bLSShADZzdDPtpbCKJzhy2Iuj9WI4eC6RuT0pK+TYLQsDuqN5gdj0yoU\n\tGiJ3STDSTso8wMkT7Loi603UrA12L3BbsH49/d3TdcdboXzhlLSt0L1Duddx4GQh1r36\n\tpFkpSnRcOH0+F7uGaMQt4uuq8dPVEM2mBhfCDQts83tUDM5EhvvjO8XXEhPS4oU3P+VC\n\tn5AJyCnnVOSBR3qTZ2CwsP9mP1zQTzSQ0PJ4fDJeCa1aVVgT7nGOnsuGV72VI1yXEN9A\n\tjafKVFGfPVfW7sUbsNcV1mGAkdnAihFvMKcOFqtxjZdd90/maN9MMlfv/Di8LNZgGeoa\n\tu/MQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=jsGEobbnnsIgQgxUiopNVYwazXRH87IBzBk72PwhI84=;\n\tb=U2LS8/wcNKAKBUg9sAp+w5UnFmnwSE5Sgnh5Q0GszQNojlR7C6ThQMVYIGO2fbjrW7\n\tHQurg7XzW+YFogRL8qB/lpUbrs3UXXPWYTU8Ljls5/qYaUHS8WEqSUt8aIkXk3RaArDj\n\thn+8e2n2lY5r3wNQceLB2W9gER6X5JXAZuSg7YWL78t2ODbJr3UAp0sjHNOgsoonQlMM\n\t0EowpfHcRDGLSBkB8rAuuASCJHIMRQvgvaF/sXHdkERieKNIyjBsphf2QCaChA9VtRpI\n\tYJ8EyNpsNCd6KDTcrOWF71xxlRNvtH7WrWJQgudH0VbZB+jRfkdNieswWb9nvsRBcSrt\n\tWJ8Q==", "X-Gm-Message-State": "AMCzsaWoMiBBaVBKwFp+obzh2CZ0RKrqZ/1tss2e9CK2zcF9SqQoxkLW\n\tzo2ib2W1V8T9+9rpnCfMpIYieWz2", "X-Google-Smtp-Source": "ABhQp+RrGb2vlkt+G/E5nhUP1/6ckSmd12rroinlMNp59nj5jpHMuY/xz38YbxCJfF4QaIKcLLMADQ==", "X-Received": "by 10.98.220.220 with SMTP id c89mr2856773pfl.167.1509611545083; \n\tThu, 02 Nov 2017 01:32:25 -0700 (PDT)", "From": "Jakub Kicinski <jakub.kicinski@netronome.com>", "To": "netdev@vger.kernel.org", "Cc": "oss-drivers@netronome.com, Jakub Kicinski <jakub.kicinski@netronome.com>", "Subject": "[PATCH net-next 4/8] nfp: reorganize the app table", "Date": "Thu, 2 Nov 2017 01:31:32 -0700", "Message-Id": "<20171102083136.2096-5-jakub.kicinski@netronome.com>", "X-Mailer": "git-send-email 2.14.1", "In-Reply-To": "<20171102083136.2096-1-jakub.kicinski@netronome.com>", "References": "<20171102083136.2096-1-jakub.kicinski@netronome.com>", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "The app table is an unordered array right now. We have to search\napps by ID. It also makes it harder to fall back to core NIC if\nadvanced functions are not compiled into the kernel (e.g. eBPF).\nMake the table keyed by app id.\n\nSigned-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>\nReviewed-by: Simon Horman <simon.horman@netronome.com>\n---\n drivers/net/ethernet/netronome/nfp/nfp_app.c | 16 ++++++----------\n 1 file changed, 6 insertions(+), 10 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/netronome/nfp/nfp_app.c b/drivers/net/ethernet/netronome/nfp/nfp_app.c\nindex 5d9e2eba5b49..085c5151c601 100644\n--- a/drivers/net/ethernet/netronome/nfp/nfp_app.c\n+++ b/drivers/net/ethernet/netronome/nfp/nfp_app.c\n@@ -43,10 +43,10 @@\n #include \"nfp_net_repr.h\"\n \n static const struct nfp_app_type *apps[] = {\n-\t&app_nic,\n-\t&app_bpf,\n+\t[NFP_APP_CORE_NIC]\t= &app_nic,\n+\t[NFP_APP_BPF_NIC]\t= &app_bpf,\n #ifdef CONFIG_NFP_APP_FLOWER\n-\t&app_flower,\n+\t[NFP_APP_FLOWER_NIC]\t= &app_flower,\n #endif\n };\n \n@@ -116,17 +116,13 @@ nfp_app_reprs_set(struct nfp_app *app, enum nfp_repr_type type,\n struct nfp_app *nfp_app_alloc(struct nfp_pf *pf, enum nfp_app_id id)\n {\n \tstruct nfp_app *app;\n-\tunsigned int i;\n \n-\tfor (i = 0; i < ARRAY_SIZE(apps); i++)\n-\t\tif (apps[i]->id == id)\n-\t\t\tbreak;\n-\tif (i == ARRAY_SIZE(apps)) {\n+\tif (id >= ARRAY_SIZE(apps) || !apps[id]) {\n \t\tnfp_err(pf->cpp, \"failed to find app with ID 0x%02hhx\\n\", id);\n \t\treturn ERR_PTR(-EINVAL);\n \t}\n \n-\tif (WARN_ON(!apps[i]->name || !apps[i]->vnic_alloc))\n+\tif (WARN_ON(!apps[id]->name || !apps[id]->vnic_alloc))\n \t\treturn ERR_PTR(-EINVAL);\n \n \tapp = kzalloc(sizeof(*app), GFP_KERNEL);\n@@ -136,7 +132,7 @@ struct nfp_app *nfp_app_alloc(struct nfp_pf *pf, enum nfp_app_id id)\n \tapp->pf = pf;\n \tapp->cpp = pf->cpp;\n \tapp->pdev = pf->pdev;\n-\tapp->type = apps[i];\n+\tapp->type = apps[id];\n \n \treturn app;\n }\n", "prefixes": [ "net-next", "4/8" ] }