Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/116057/?format=api
http://patches.dpdk.org/api/patches/116057/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220908020959.1675953-1-zhirun.yan@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20220908020959.1675953-1-zhirun.yan@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20220908020959.1675953-1-zhirun.yan@intel.com", "date": "2022-09-08T02:09:53", "name": "[RFC,v1,0/6] graph enhancement for multi-core dispatch", "commit_ref": null, "pull_url": null, "state": null, "archived": false, "hash": null, "submitter": { "id": 1154, "url": "http://patches.dpdk.org/api/people/1154/?format=api", "name": "Yan, Zhirun", "email": "zhirun.yan@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220908020959.1675953-1-zhirun.yan@intel.com/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/116057/comments/", "check": "pending", "checks": "http://patches.dpdk.org/api/patches/116057/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D3D2CA0548;\n\tThu, 8 Sep 2022 04:10:18 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7296E4021F;\n\tThu, 8 Sep 2022 04:10:18 +0200 (CEST)", "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id 8D344400D6\n for <dev@dpdk.org>; Thu, 8 Sep 2022 04:10:17 +0200 (CEST)", "from orsmga003.jf.intel.com ([10.7.209.27])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 07 Sep 2022 19:10:16 -0700", "from dpdk-zhirun-lmm.sh.intel.com ([10.67.118.241])\n by orsmga003.jf.intel.com with ESMTP; 07 Sep 2022 19:10:14 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1662603017; x=1694139017;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=hN9SYMwFDyzjiycbJ3uCiAFbuoZV87FxPGNmPV92nXQ=;\n b=FeVBfpWenpynx9UV+D6W5KZOhtNAmXtQwoRh5CYrLYMmQJQEnZbRLFxp\n tvkjBMCj3P+nl5D/Q6Fq7lmzmprj2ogxisz0g/x6bjWYlzzN3au4SB2Cd\n TNMUA6Ad30SAjVZmt91mceTZEke63cJz1w3bpe1hU11aObUapOksUgcBJ\n d8VmLDaDNkvUobmFwgu8E8JOnh6stg1q783cosxrTfLrt28SfTC2uCl9f\n s0axizK4b+CaQ5cMm7bhCB6CKOB44A7JkH/FLEzA0kZARUevpdgVre9tV\n qvhiGx6rDYkWfQzXKvkY6ICksDi42KbsuMn15vdidWRDVjwjSqEJMob51 w==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10463\"; a=\"383336872\"", "E=Sophos;i=\"5.93,298,1654585200\"; d=\"scan'208\";a=\"383336872\"", "E=Sophos;i=\"5.93,298,1654585200\"; d=\"scan'208\";a=\"565755808\"" ], "X-ExtLoop1": "1", "From": "Zhirun Yan <zhirun.yan@intel.com>", "To": "dev@dpdk.org,\n\tjerinj@marvell.com,\n\tkirankumark@marvell.com", "Cc": "cunming.liang@intel.com, haiyue.wang@intel.com,\n Zhirun Yan <zhirun.yan@intel.com>", "Subject": "[RFC, v1 0/6] graph enhancement for multi-core dispatch", "Date": "Thu, 8 Sep 2022 10:09:53 +0800", "Message-Id": "<20220908020959.1675953-1-zhirun.yan@intel.com>", "X-Mailer": "git-send-email 2.25.1", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "Currently, the rte_graph_walk() and rte_node_enqueue* fast path API\nfunctions in graph lib implementation are designed to work on single-core.\n\nThis solution(RFC) proposes usage of cross-core dispatching mechanism to\nenhance the graph scaling strategy. We introduce Scheduler Workqueue\nthen we could directly dispatch streams to another worker core which is\naffinity with a specific node.\n\nThis RFC:\n 1. Introduce core affinity API and graph clone API.\n 2. Introduce key functions to enqueue/dequeue for dispatching streams.\n 3. Enhance rte_graph_walk by cross-core dispatch.\n 4. Add l2fwd-graph example and stats for cross-core dispatching.\n\nWith this patch set, it could easily plan and orchestrate stream on\nmulti-core systems.\n\nFuture work:\n 1. Support to affinity lcore set for one node.\n 2. Use l3fwd-graph instead of l2fwd-graph as example in patch 06.\n 3. Add new parameter, like --node(nodeid, lcoreid) to config node for core\n affinity.\n\nComments and suggestions are welcome. Thanks!\n\n\n\nHaiyue Wang (1):\n examples: add l2fwd-graph\n\nZhirun Yan (5):\n graph: introduce core affinity API into graph\n graph: introduce graph clone API for other worker core\n graph: enable stream moving cross cores\n graph: enhance graph walk by cross-core dispatch\n graph: add stats for corss-core dispatching\n\n examples/l2fwd-graph/main.c | 455 +++++++++++++++++++++++++++++++\n examples/l2fwd-graph/meson.build | 25 ++\n examples/l2fwd-graph/node.c | 263 ++++++++++++++++++\n examples/l2fwd-graph/node.h | 64 +++++\n examples/meson.build | 1 +\n lib/graph/graph.c | 121 ++++++++\n lib/graph/graph_debug.c | 4 +\n lib/graph/graph_populate.c | 1 +\n lib/graph/graph_private.h | 43 +++\n lib/graph/graph_sched.c | 194 +++++++++++++\n lib/graph/graph_stats.c | 19 +-\n lib/graph/meson.build | 2 +\n lib/graph/node.c | 25 ++\n lib/graph/rte_graph.h | 50 ++++\n lib/graph/rte_graph_worker.h | 59 ++++\n lib/graph/version.map | 5 +\n 16 files changed, 1327 insertions(+), 4 deletions(-)\n create mode 100644 examples/l2fwd-graph/main.c\n create mode 100644 examples/l2fwd-graph/meson.build\n create mode 100644 examples/l2fwd-graph/node.c\n create mode 100644 examples/l2fwd-graph/node.h\n create mode 100644 lib/graph/graph_sched.c", "diff": null, "prefixes": [ "RFC", "v1", "0/6" ] }{ "id": 116057, "url": "