Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/65407/?format=api
https://patches.dpdk.org/api/patches/65407/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200131035929.2576-2-honnappa.nagarahalli@arm.com/", "project": { "id": 1, "url": "https://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": "<20200131035929.2576-2-honnappa.nagarahalli@arm.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200131035929.2576-2-honnappa.nagarahalli@arm.com", "date": "2020-01-31T03:59:29", "name": "[2/2] doc: change prog guide to reflect rte_ring_xxx_elem apis", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "474d4583550737ad6e2e6966bcae2a32b9f207dd", "submitter": { "id": 1045, "url": "https://patches.dpdk.org/api/people/1045/?format=api", "name": "Honnappa Nagarahalli", "email": "honnappa.nagarahalli@arm.com" }, "delegate": { "id": 1, "url": "https://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200131035929.2576-2-honnappa.nagarahalli@arm.com/mbox/", "series": [ { "id": 8372, "url": "https://patches.dpdk.org/api/series/8372/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=8372", "date": "2020-01-31T03:59:28", "name": "[1/2] lib/ring: fix documentation for rte_ring_xxx_elem apis", "version": 1, "mbox": "https://patches.dpdk.org/series/8372/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/65407/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/65407/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 74EE7A0524;\n\tFri, 31 Jan 2020 04:59:48 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 163101C0B3;\n\tFri, 31 Jan 2020 04:59:43 +0100 (CET)", "from foss.arm.com (foss.arm.com [217.140.110.172])\n by dpdk.org (Postfix) with ESMTP id 906931C08C\n for <dev@dpdk.org>; Fri, 31 Jan 2020 04:59:39 +0100 (CET)", "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 09FAB31B;\n Thu, 30 Jan 2020 19:59:39 -0800 (PST)", "from qc2400f-1.austin.arm.com (qc2400f-1.austin.arm.com\n [10.118.14.48])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 020DB3F67D;\n Thu, 30 Jan 2020 19:59:39 -0800 (PST)" ], "From": "Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>", "To": "olivier.matz@6wind.com,\n\thonnappa.nagarahalli@arm.com", "Cc": "david.marchand@redhat.com,\n\tdev@dpdk.org,\n\tgavin.hu@arm.com,\n\tnd@arm.com", "Date": "Thu, 30 Jan 2020 21:59:29 -0600", "Message-Id": "<20200131035929.2576-2-honnappa.nagarahalli@arm.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20200131035929.2576-1-honnappa.nagarahalli@arm.com>", "References": "<20200131035929.2576-1-honnappa.nagarahalli@arm.com>", "Subject": "[dpdk-dev] [PATCH 2/2] doc: change prog guide to reflect\n\trte_ring_xxx_elem apis", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "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", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Changed the rte_ring chapter in programmer's guide to reflect\nthe addition of rte_ring_xxx_elem APIs. References to pointers\nas ring elements is changed to generic term 'objects'.\n\nSigned-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>\nReviewed-by: Gavin Hu <gavin.hu@arm.com>\n---\n doc/guides/prog_guide/ring_lib.rst | 16 +++++++++-------\n 1 file changed, 9 insertions(+), 7 deletions(-)", "diff": "diff --git a/doc/guides/prog_guide/ring_lib.rst b/doc/guides/prog_guide/ring_lib.rst\nindex 5a9b6137e..8cb2b2dd4 100644\n--- a/doc/guides/prog_guide/ring_lib.rst\n+++ b/doc/guides/prog_guide/ring_lib.rst\n@@ -11,7 +11,9 @@ Instead of having a linked list of infinite size, the rte_ring has the following\n \n * FIFO\n \n-* Maximum size is fixed, the pointers are stored in a table\n+* Maximum size is fixed, the objects are stored in a table\n+\n+* Objects can be pointers or elements of multiple of 4 byte size\n \n * Lockless implementation\n \n@@ -29,19 +31,19 @@ Instead of having a linked list of infinite size, the rte_ring has the following\n \n The advantages of this data structure over a linked list queue are as follows:\n \n-* Faster; only requires a single Compare-And-Swap instruction of sizeof(void \\*) instead of several double-Compare-And-Swap instructions.\n+* Faster; only requires a single 32 bit Compare-And-Swap instruction instead of several pointer size Compare-And-Swap instructions.\n \n * Simpler than a full lockless queue.\n \n * Adapted to bulk enqueue/dequeue operations.\n- As pointers are stored in a table, a dequeue of several objects will not produce as many cache misses as in a linked queue.\n+ As objects are stored in a table, a dequeue of several objects will not produce as many cache misses as in a linked queue.\n Also, a bulk dequeue of many objects does not cost more than a dequeue of a simple object.\n \n The disadvantages:\n \n * Size is fixed\n \n-* Having many rings costs more in terms of memory than a linked list queue. An empty ring contains at least N pointers.\n+* Having many rings costs more in terms of memory than a linked list queue. An empty ring contains at least N objects.\n \n A simplified representation of a Ring is shown in with consumer and producer head and tail pointers to objects stored in the data structure.\n \n@@ -125,7 +127,7 @@ Enqueue Second Step\n \n The second step is to modify *ring->prod_head* in ring structure to point to the same location as prod_next.\n \n-A pointer to the added object is copied in the ring (obj4).\n+The added object is copied in the ring (obj4).\n \n \n .. _figure_ring-enqueue2:\n@@ -178,7 +180,7 @@ Dequeue Second Step\n \n The second step is to modify ring->cons_head in the ring structure to point to the same location as cons_next.\n \n-The pointer to the dequeued object (obj1) is copied in the pointer given by the user.\n+The dequeued object (obj1) is copied in the pointer given by the user.\n \n \n .. _figure_ring-dequeue2:\n@@ -298,7 +300,7 @@ Modulo 32-bit Indexes\n \n In the preceding figures, the prod_head, prod_tail, cons_head and cons_tail indexes are represented by arrows.\n In the actual implementation, these values are not between 0 and size(ring)-1 as would be assumed.\n-The indexes are between 0 and 2^32 -1, and we mask their value when we access the pointer table (the ring itself).\n+The indexes are between 0 and 2^32 -1, and we mask their value when we access the object table (the ring itself).\n 32-bit modulo also implies that operations on indexes (such as, add/subtract) will automatically do 2^32 modulo\n if the result overflows the 32-bit number range.\n \n", "prefixes": [ "2/2" ] }{ "id": 65407, "url": "