List patch comments

GET /api/patches/139280/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<http://patches.dpdk.org/api/patches/139280/comments/?format=api&page=1>; rel="first",
<http://patches.dpdk.org/api/patches/139280/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 169621, "web_url": "http://patches.dpdk.org/comment/169621/", "msgid": "<CA+sj1i-HvjwJPq6POo-4vJrVpPdzDcdi7JsWCNv0jUdONw9BHQ@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CA+sj1i-HvjwJPq6POo-4vJrVpPdzDcdi7JsWCNv0jUdONw9BHQ@mail.gmail.com", "date": "2024-04-23T13:49:51", "subject": "Re: [PATCH v4] lib/hash: add defer queue reclaim API", "submitter": { "id": 3080, "url": "http://patches.dpdk.org/api/people/3080/?format=api", "name": "Abdullah Ömer Yamaç", "email": "aomeryamac@gmail.com" }, "content": "Hello, is there any other comment on this patch? Thanks\n\nOn Mon, Apr 15, 2024 at 2:26 PM Abdullah Ömer Yamaç <aomeryamac@gmail.com>\nwrote:\n\n> This patch adds a new feature to the hash library to allow the user to\n> reclaim the defer queue. This is useful when the user wants to force\n> reclaim resources that are not being used. This API is only available\n> if the RCU is enabled.\n>\n> Signed-off-by: Abdullah Ömer Yamaç <aomeryamac@gmail.com>\n> ---\n> app/test/test_hash.c | 97 ++++++++++++++++++++++++++++++++++++++\n> lib/hash/rte_cuckoo_hash.c | 23 +++++++++\n> lib/hash/rte_hash.h | 24 ++++++++++\n> lib/hash/version.map | 7 +++\n> 4 files changed, 151 insertions(+)\n>\n> diff --git a/app/test/test_hash.c b/app/test/test_hash.c\n> index d586878a22..ebeda8c322 100644\n> --- a/app/test/test_hash.c\n> +++ b/app/test/test_hash.c\n> @@ -2183,6 +2183,100 @@ test_hash_rcu_qsbr_sync_mode(uint8_t ext_bkt)\n>\n> }\n>\n> +/*\n> + * rte_hash_rcu_qsbr_dq_reclaim unit test.\n> + */\n> +static int\n> +test_hash_rcu_qsbr_dq_reclaim(void)\n> +{\n> + size_t sz;\n> + int32_t status;\n> + unsigned int total_entries = 8;\n> + unsigned int freed, pending, available;\n> + uint32_t reclaim_keys[8] = {10, 11, 12, 13, 14, 15, 16, 17};\n> + struct rte_hash_rcu_config rcu_cfg = {0};\n> + struct rte_hash_parameters hash_params = {\n> + .name = \"test_hash_rcu_qsbr_dq_reclaim\",\n> + .entries = total_entries,\n> + .key_len = sizeof(uint32_t),\n> + .hash_func = NULL,\n> + .hash_func_init_val = 0,\n> + .socket_id = 0,\n> + };\n> +\n> + hash_params.extra_flag = RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF;\n> +\n> + g_qsv = NULL;\n> + g_handle = NULL;\n> +\n> + printf(\"\\n# Running RCU QSBR DQ mode, reclaim defer queue\n> functional test\\n\");\n> +\n> + g_handle = rte_hash_create(&hash_params);\n> + RETURN_IF_ERROR_RCU_QSBR(g_handle == NULL, \"Hash creation failed\");\n> +\n> + /* Create RCU QSBR variable */\n> + sz = rte_rcu_qsbr_get_memsize(RTE_MAX_LCORE);\n> + g_qsv = (struct rte_rcu_qsbr *)rte_zmalloc_socket(NULL, sz,\n> + RTE_CACHE_LINE_SIZE,\n> SOCKET_ID_ANY);\n> + RETURN_IF_ERROR_RCU_QSBR(g_qsv == NULL,\n> + \"RCU QSBR\n> variable creation failed\");\n> +\n> + status = rte_rcu_qsbr_init(g_qsv, RTE_MAX_LCORE);\n> + RETURN_IF_ERROR_RCU_QSBR(status != 0,\n> + \"RCU QSBR\n> variable initialization failed\");\n> +\n> + rcu_cfg.v = g_qsv;\n> + rcu_cfg.dq_size = total_entries;\n> + rcu_cfg.mode = RTE_HASH_QSBR_MODE_DQ;\n> +\n> + /* Attach RCU QSBR to hash table */\n> + status = rte_hash_rcu_qsbr_add(g_handle, &rcu_cfg);\n> + RETURN_IF_ERROR_RCU_QSBR(status != 0,\n> + \"Attach RCU QSBR\n> to hash table failed\");\n> +\n> + /* Register pseudo reader */\n> + status = rte_rcu_qsbr_thread_register(g_qsv, 0);\n> + RETURN_IF_ERROR_RCU_QSBR(status != 0,\n> + \"RCU QSBR thread\n> registration failed\");\n> + rte_rcu_qsbr_thread_online(g_qsv, 0);\n> +\n> + /* Fill half of the hash table */\n> + for (size_t i = 0; i < total_entries / 2; i++)\n> + status = rte_hash_add_key(g_handle, &reclaim_keys[i]);\n> +\n> + /* Lookup inserted elements*/\n> + for (size_t i = 0; i < total_entries / 2; i++)\n> + rte_hash_lookup(g_handle, &reclaim_keys[i]);\n> +\n> + /* Try to put these elements into the defer queue*/\n> + for (size_t i = 0; i < total_entries / 2; i++)\n> + rte_hash_del_key(g_handle, &reclaim_keys[i]);\n> +\n> + /* Reader quiescent */\n> + rte_rcu_qsbr_quiescent(g_qsv, 0);\n> +\n> + status = rte_hash_add_key(g_handle, &reclaim_keys[0]);\n> + RETURN_IF_ERROR_RCU_QSBR(status < 0,\n> + \"failed to add\n> key (pos[%u]=%d)\", 0,\n> + status);\n> +\n> + /* This should be (total_entries / 2) + 1 (last add) */\n> + unsigned int hash_size = rte_hash_count(g_handle);\n> +\n> + /* Freed size should be (total_entries / 2) */\n> + rte_hash_rcu_qsbr_dq_reclaim(g_handle, &freed, &pending,\n> &available);\n> +\n> + rte_hash_free(g_handle);\n> + rte_free(g_qsv);\n> +\n> + if (hash_size != (total_entries / 2 + 1) || freed !=\n> (total_entries / 2)) {\n> + printf(\"Failed to reclaim defer queue\\n\");\n> + return -1;\n> + }\n> +\n> + return 0;\n> +}\n> +\n> /*\n> * Do all unit and performance tests.\n> */\n> @@ -2261,6 +2355,9 @@ test_hash(void)\n> if (test_hash_rcu_qsbr_sync_mode(1) < 0)\n> return -1;\n>\n> + if (test_hash_rcu_qsbr_dq_reclaim() < 0)\n> + return -1;\n> +\n> return 0;\n> }\n>\n> diff --git a/lib/hash/rte_cuckoo_hash.c b/lib/hash/rte_cuckoo_hash.c\n> index 9cf94645f6..4a44aadd9a 100644\n> --- a/lib/hash/rte_cuckoo_hash.c\n> +++ b/lib/hash/rte_cuckoo_hash.c\n> @@ -1588,6 +1588,29 @@ rte_hash_rcu_qsbr_add(struct rte_hash *h, struct\n> rte_hash_rcu_config *cfg)\n> return 0;\n> }\n>\n> +int\n> +rte_hash_rcu_qsbr_dq_reclaim(struct rte_hash *h, unsigned int *freed,\n> + unsigned int *pending, unsigned\n> int *available)\n> +{\n> + int ret;\n> +\n> + if (h == NULL || h->hash_rcu_cfg == NULL) {\n> + rte_errno = EINVAL;\n> + return 1;\n> + }\n> +\n> + ret = rte_rcu_qsbr_dq_reclaim(h->dq,\n> h->hash_rcu_cfg->max_reclaim_size,\n> + freed,\n> pending, available);\n> + if (ret != 0) {\n> + HASH_LOG(ERR,\n> + \"%s: could not reclaim the defer queue in\n> hash table\",\n> + __func__);\n> + return 1;\n> + }\n> +\n> + return 0;\n> +}\n> +\n> static inline void\n> remove_entry(const struct rte_hash *h, struct rte_hash_bucket *bkt,\n> unsigned int i)\n> diff --git a/lib/hash/rte_hash.h b/lib/hash/rte_hash.h\n> index 7ecc021111..edfa262aca 100644\n> --- a/lib/hash/rte_hash.h\n> +++ b/lib/hash/rte_hash.h\n> @@ -674,6 +674,30 @@ rte_hash_iterate(const struct rte_hash *h, const void\n> **key, void **data, uint32\n> */\n> int rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config\n> *cfg);\n>\n> +/**\n> + * Reclaim resources from the defer queue.\n> + * This API reclaim the resources from the defer queue if rcu is enabled.\n> + *\n> + * @param h\n> + * The hash object to reclaim resources.\n> + * @param freed\n> + * Number of resources that were freed.\n> + * @param pending\n> + * Number of resources pending on the defer queue.\n> + * This number might not be accurate if multi-thread safety is\n> configured.\n> + * @param available\n> + * Number of resources that can be added to the defer queue.\n> + * This number might not be accurate if multi-thread safety is\n> configured.\n> + * @return\n> + * On success - 0\n> + * On error - 1 with error code set in rte_errno.\n> + * Possible rte_errno codes are:\n> + * - EINVAL - invalid pointer\n> + */\n> +__rte_experimental\n> +int rte_hash_rcu_qsbr_dq_reclaim(struct rte_hash *h, unsigned int *freed,\n> + unsigned int *pending, unsigned int *available);\n> +\n> #ifdef __cplusplus\n> }\n> #endif\n> diff --git a/lib/hash/version.map b/lib/hash/version.map\n> index 6f4bcdb71b..d348dd9196 100644\n> --- a/lib/hash/version.map\n> +++ b/lib/hash/version.map\n> @@ -53,3 +53,10 @@ INTERNAL {\n> rte_thash_gfni_stub;\n> rte_thash_gfni_bulk_stub;\n> };\n> +\n> +EXPERIMENTAL {\n> + global:\n> +\n> + # added in 24.07\n> + rte_hash_rcu_qsbr_dq_reclaim;\n> +};\n> --\n> 2.34.1\n>\n>", "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 D90EA43EEA;\n\tTue, 23 Apr 2024 15:50:08 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 6D97E42EEA;\n\tTue, 23 Apr 2024 15:50:08 +0200 (CEST)", "from mail-ot1-f43.google.com (mail-ot1-f43.google.com\n [209.85.210.43]) by mails.dpdk.org (Postfix) with ESMTP id B6436402C7\n for <dev@dpdk.org>; Tue, 23 Apr 2024 15:50:03 +0200 (CEST)", "by mail-ot1-f43.google.com with SMTP id\n 46e09a7af769-6ed06982819so1790006a34.0\n for <dev@dpdk.org>; Tue, 23 Apr 2024 06:50:03 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1713880203; x=1714485003; darn=dpdk.org;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:from:to:cc:subject:date:message-id:reply-to;\n bh=JCGgAgMwgrPZqTefK5bfHA0Kve9Xy81NofuymPaXyRI=;\n b=Of/VmaXNIAqkGFCfVA+smiGkOPjyT2mYnyX15Umq3u6J1Ds7ttLZxB49h+4E7fk+UR\n owB3DjNtMpG3Ek7n/vCxNBPWABgLwcr/BwpoPpToc03UJhmMmZmSUyM+AiE69+RGRZvl\n WtGd9Y1Yerid4XKwdUUWeBDpI4NbMoQDBbTQ9rmZMvYmLHiKhjWF7QZKlywtc8b2RXlp\n dJY3I9JZT30U+FWAwEeUOO9+Q8e1kGd8jHltRUmzglF6i69HeK1SmEKSaHA3kkxQ8G15\n Kkl8p8hS4jMd7nd3JnJcGqBWyEA95vwEttLJtxfEnMZCR5+YixqS84V1hjxurw1duALB\n EUuw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1713880203; x=1714485003;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=JCGgAgMwgrPZqTefK5bfHA0Kve9Xy81NofuymPaXyRI=;\n b=nul1l9t3o/AvBNtNLlYbq8p0rh3ebudV2KrjisOwOY2whr7JLB2LEmYMsVBT+Spf9w\n XGHS1iYuvqAl9BnFC8608VxgLNFWPNictu6VsKdn/Vy7BzBHVprGR7lHtZni25nkcQtP\n THDbXh9+YKznPx/ut+1fj1U1u3UKd8zSf69iYEIAnOkpbh/UFswvL3RWD0K82EygAcuX\n vMllh3NAUp1JEGgSDNuiUpWl5fw0OpDF9FTJBKU5aH4yBr4bXtKDH22J05PVoxYNXibn\n oiWHqtmLY8mdXgf0kJTUW/pc/rynmo7+Yq+qJ0N09wm8zF53KNMnXt81iqFvT4ezhsXG\n FugQ==", "X-Gm-Message-State": "AOJu0Yxa27HM56udxZP/TtucX2zowLmHUI7p/yN2x0bWYSTbOVHnPLEo\n XgRce5Ici7YFtSCuVTxCepdnjBBwNfbuX1b6wif/M47IRU56s/Gy1sSNoCHhxITztV1qPQQt9t3\n u8XPAWmXQlVJ9N6jBKlAjn7HkVwWN2Meu", "X-Google-Smtp-Source": "\n AGHT+IHCI1qmukBPvbWEqzK7zvDuZqndcvWaMavNuMXVHwHU5WYqxmWRQm3pXEpzFjsR4wYI1KVSLpbmxF8c4ruvn+o=", "X-Received": "by 2002:a05:6871:58a7:b0:229:ce58:477a with SMTP id\n ok39-20020a05687158a700b00229ce58477amr16271415oac.19.1713880202787; Tue, 23\n Apr 2024 06:50:02 -0700 (PDT)", "MIME-Version": "1.0", "References": "\n <CA+sj1i9vXMtxeDnM9bzgnVyNTa-CCRyEvPP6hcbfLbuegxLRzg@mail.gmail.com>\n <20240415112602.690972-1-aomeryamac@gmail.com>", "In-Reply-To": "<20240415112602.690972-1-aomeryamac@gmail.com>", "From": "=?utf-8?b?QWJkdWxsYWggw5ZtZXIgWWFtYcOn?= <aomeryamac@gmail.com>", "Date": "Tue, 23 Apr 2024 16:49:51 +0300", "Message-ID": "\n <CA+sj1i-HvjwJPq6POo-4vJrVpPdzDcdi7JsWCNv0jUdONw9BHQ@mail.gmail.com>", "Subject": "Re: [PATCH v4] lib/hash: add defer queue reclaim API", "To": "dev@dpdk.org", "Cc": "Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,\n Thomas Monjalon <thomas@monjalon.net>", "Content-Type": "multipart/alternative; boundary=\"000000000000acc5b90616c3d4b9\"", "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" }, "addressed": null }, { "id": 169627, "web_url": "http://patches.dpdk.org/comment/169627/", "msgid": "<20240423142432.0fcedf20@hermes.local>", "list_archive_url": "https://inbox.dpdk.org/dev/20240423142432.0fcedf20@hermes.local", "date": "2024-04-23T21:24:32", "subject": "Re: [PATCH v4] lib/hash: add defer queue reclaim API", "submitter": { "id": 27, "url": "http://patches.dpdk.org/api/people/27/?format=api", "name": "Stephen Hemminger", "email": "stephen@networkplumber.org" }, "content": "On Mon, 15 Apr 2024 11:26:02 +0000\nAbdullah Ömer Yamaç <aomeryamac@gmail.com> wrote:\n\n> +\tret = rte_rcu_qsbr_dq_reclaim(h->dq, h->hash_rcu_cfg->max_reclaim_size,\n> +\t\t\t\t\t\t\t\t freed, pending, available);\n\nIndention here is odd. I would expect \"freed,\" to line up right under h->dq.\nSince rte_rcu_qsbrs_dq_reclaim logs error on invalid parameters, this function should as well.\n\nTotal indent fixes:\n\ndiff --git a/lib/hash/rte_cuckoo_hash.c b/lib/hash/rte_cuckoo_hash.c\nindex 4a44aadd9a..e1ea810024 100644\n--- a/lib/hash/rte_cuckoo_hash.c\n+++ b/lib/hash/rte_cuckoo_hash.c\n@@ -1590,21 +1590,20 @@ rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config *cfg)\n \n int\n rte_hash_rcu_qsbr_dq_reclaim(struct rte_hash *h, unsigned int *freed,\n-\t\t\t\t\tunsigned int *pending, unsigned int *available)\n+\t\t\t unsigned int *pending, unsigned int *available)\n {\n \tint ret;\n \n \tif (h == NULL || h->hash_rcu_cfg == NULL) {\n+\t\tHASH_LOG(ERR, \"Invalid input parameter\");\n \t\trte_errno = EINVAL;\n \t\treturn 1;\n \t}\n \n \tret = rte_rcu_qsbr_dq_reclaim(h->dq, h->hash_rcu_cfg->max_reclaim_size,\n-\t\t\t\t\t\t\t\t freed, pending, available);\n+\t\t\t\t freed, pending, available);\n \tif (ret != 0) {\n-\t\tHASH_LOG(ERR,\n-\t\t\t\t \"%s: could not reclaim the defer queue in hash table\",\n-\t\t\t\t __func__);\n+\t\tHASH_LOG(ERR, \"%s: could not reclaim the defer queue in hash table\", __func__);\n \t\treturn 1;\n \t}", "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 47E6343EEE;\n\tTue, 23 Apr 2024 23:24:38 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B802A402AC;\n\tTue, 23 Apr 2024 23:24:37 +0200 (CEST)", "from mail-pl1-f177.google.com (mail-pl1-f177.google.com\n [209.85.214.177])\n by mails.dpdk.org (Postfix) with ESMTP id 9A6F340272\n for <dev@dpdk.org>; Tue, 23 Apr 2024 23:24:36 +0200 (CEST)", "by mail-pl1-f177.google.com with SMTP id\n d9443c01a7336-1e4bf0b3e06so58223475ad.1\n for <dev@dpdk.org>; Tue, 23 Apr 2024 14:24:36 -0700 (PDT)", "from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226])\n by smtp.gmail.com with ESMTPSA id\n w5-20020a1709029a8500b001e435350a7bsm10469287plp.259.2024.04.23.14.24.34\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 23 Apr 2024 14:24:34 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1713907475;\n x=1714512275; darn=dpdk.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:subject:cc:to:from:date:from:to:cc:subject:date\n :message-id:reply-to;\n bh=dPGRrQYIiYwvOR+wocvQLPHVmBw9R/e22GB6O5l9pHk=;\n b=Lu1db7POzc9KZId3LYHKBbbnikXwouRatAsAezgkmrRzjF3uT7PQ8lIv/eFqgPe3mk\n OiSgYkyIR8xGalSpp5BgIZ3zwWTTMpe229TdHIKnJnBnfN66lqKtV5TFZcGrFXvaRbxs\n SMKsggCoUtw0GrjkqADZ6AJYWLYbWA054sFP8qpi1ftFgPEF7SN5NZhmM9gEJKbrrXAm\n erPiFeEfZ8mQl9R/ic9b7MR2Cgoqk62FuxygOZCQBtjkqoVrcAQBK0eEOynAN1e5Fnt4\n 0rl2oNAVA5Fd7GJZD/hbmbcfMpjpq1W1FLVdPX3Ja1oBfqzYMcNnYLjnCu07JWZevl4O\n WxNA==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1713907475; x=1714512275;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=dPGRrQYIiYwvOR+wocvQLPHVmBw9R/e22GB6O5l9pHk=;\n b=qIT98u9xnXORF9omgI6waroHcsdB/T5M5wZvDE8TGvTgpNsr6NNouraqZUVAyHThv2\n rtlcGQRjD1n6U7fcovNUlJx2Pp0Xy8B6/rg/bKSgtV4CALBRE8YWiSdskSgHoViQkBDi\n jhM642B3S9fFbSzGBKWWgaoeFFjIf9Rpt0V7lCIJ7AoHlfCkuC4TjaKP18ik0FpKQfUt\n y30wAuOivZVHaRgwOEEmJ0ovHG2s/T251SFZmbXtWYg25C1Ff6ggWhEZdLQjWUW2Nbez\n ygcY2oTF0yCRW3y6G0X3aGtjvdc2JmnhrlPTB100z6mrWRuWm64zP2k0DIFEWDFJV7qF\n UMjg==", "X-Gm-Message-State": "AOJu0Yxzhedw9S7S5ADZj1LAp/IW5vwWIoKDSo68dLf9L1BUbNAaSOlC\n rlScdWpZGIC2lpdnMnbeAvy6H2biuGRK8JoLbt6CH6ihZuVqcnCwl/K2SAPp2Ms=", "X-Google-Smtp-Source": "\n AGHT+IF6FYg9BRiEbIFmqwypes4ue5uxsAtjuRdag+1qu2wtIC3cs8LU1lHrB9BaX6NnIgvbNPbsqQ==", "X-Received": "by 2002:a17:902:f688:b0:1e4:2b90:7282 with SMTP id\n l8-20020a170902f68800b001e42b907282mr868525plg.14.1713907475557;\n Tue, 23 Apr 2024 14:24:35 -0700 (PDT)", "Date": "Tue, 23 Apr 2024 14:24:32 -0700", "From": "Stephen Hemminger <stephen@networkplumber.org>", "To": "Abdullah =?utf-8?b?w5ZtZXIgWWFtYcOn?= <aomeryamac@gmail.com>", "Cc": "dev@dpdk.org", "Subject": "Re: [PATCH v4] lib/hash: add defer queue reclaim API", "Message-ID": "<20240423142432.0fcedf20@hermes.local>", "In-Reply-To": "<20240415112602.690972-1-aomeryamac@gmail.com>", "References": "\n <CA+sj1i9vXMtxeDnM9bzgnVyNTa-CCRyEvPP6hcbfLbuegxLRzg@mail.gmail.com>\n <20240415112602.690972-1-aomeryamac@gmail.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "quoted-printable", "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" }, "addressed": false }, { "id": 169661, "web_url": "http://patches.dpdk.org/comment/169661/", "msgid": "<CA+sj1i9s4XdnP-NQbDAfLjhbyDTc6Bkfj3JrrvNqsobxNmT4Qg@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CA+sj1i9s4XdnP-NQbDAfLjhbyDTc6Bkfj3JrrvNqsobxNmT4Qg@mail.gmail.com", "date": "2024-04-25T14:03:04", "subject": "Re: [PATCH v4] lib/hash: add defer queue reclaim API", "submitter": { "id": 3080, "url": "http://patches.dpdk.org/api/people/3080/?format=api", "name": "Abdullah Ömer Yamaç", "email": "aomeryamac@gmail.com" }, "content": "Thanks for the comments. This is due to the tab size, and I will fix them.\n\nOn Wed, Apr 24, 2024 at 12:24 AM Stephen Hemminger <\nstephen@networkplumber.org> wrote:\n\n> On Mon, 15 Apr 2024 11:26:02 +0000\n> Abdullah Ömer Yamaç <aomeryamac@gmail.com> wrote:\n>\n> > + ret = rte_rcu_qsbr_dq_reclaim(h->dq,\n> h->hash_rcu_cfg->max_reclaim_size,\n> > + freed,\n> pending, available);\n>\n> Indention here is odd. I would expect \"freed,\" to line up right under\n> h->dq.\n> Since rte_rcu_qsbrs_dq_reclaim logs error on invalid parameters, this\n> function should as well.\n>\n> Total indent fixes:\n>\n> diff --git a/lib/hash/rte_cuckoo_hash.c b/lib/hash/rte_cuckoo_hash.c\n> index 4a44aadd9a..e1ea810024 100644\n> --- a/lib/hash/rte_cuckoo_hash.c\n> +++ b/lib/hash/rte_cuckoo_hash.c\n> @@ -1590,21 +1590,20 @@ rte_hash_rcu_qsbr_add(struct rte_hash *h, struct\n> rte_hash_rcu_config *cfg)\n>\n> int\n> rte_hash_rcu_qsbr_dq_reclaim(struct rte_hash *h, unsigned int *freed,\n> - unsigned int *pending, unsigned\n> int *available)\n> + unsigned int *pending, unsigned int\n> *available)\n> {\n> int ret;\n>\n> if (h == NULL || h->hash_rcu_cfg == NULL) {\n> + HASH_LOG(ERR, \"Invalid input parameter\");\n> rte_errno = EINVAL;\n> return 1;\n> }\n>\n> ret = rte_rcu_qsbr_dq_reclaim(h->dq,\n> h->hash_rcu_cfg->max_reclaim_size,\n> - freed,\n> pending, available);\n> + freed, pending, available);\n> if (ret != 0) {\n> - HASH_LOG(ERR,\n> - \"%s: could not reclaim the defer queue in\n> hash table\",\n> - __func__);\n> + HASH_LOG(ERR, \"%s: could not reclaim the defer queue in\n> hash table\", __func__);\n> return 1;\n> }\n>\n>", "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 66FCF43F05;\n\tThu, 25 Apr 2024 16:03:17 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 52BF7435F4;\n\tThu, 25 Apr 2024 16:03:17 +0200 (CEST)", "from mail-oa1-f50.google.com (mail-oa1-f50.google.com\n [209.85.160.50]) by mails.dpdk.org (Postfix) with ESMTP id D8E6340284\n for <dev@dpdk.org>; Thu, 25 Apr 2024 16:03:15 +0200 (CEST)", "by mail-oa1-f50.google.com with SMTP id\n 586e51a60fabf-2330f85c2ebso674044fac.1\n for <dev@dpdk.org>; Thu, 25 Apr 2024 07:03:15 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1714053795; x=1714658595; darn=dpdk.org;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:from:to:cc:subject:date:message-id:reply-to;\n bh=kV9cChnFCsPiLMFpWMQezFwfbVBRgD+OAvDi4W9LrE8=;\n b=XCUyO/qqFvi7jqJYb7UwuQUe+LInoj6n8aAq3iN1KCDt/e+/RVPDMju/vvi3S8HlDj\n phCamoOEYBzRcUJ/pAo6PwFQwxpicNx/qnyonnLlbFLv3xdiq4EjZCfxp8uxhdzc0J+/\n Z1pr+h0ei5AYTFDKkshBwrqzG0OPNeaQ79sWmGOTg3V1R5c6dJ+524lVLsZiaJDH6JCe\n bTQ/jfepcU5Cm4CXR/WfXc5m2yYfOMRhM2pZdoiMq3nrZcl8wtKgZ31dVoypoXI/riGE\n 8mJlyPdvGDpuEaLRZqE/WOy7wI7inHOrbN6YIfu5xAaPDcPXjQYYXqtLjqZin5Hz9BVe\n itgg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1714053795; x=1714658595;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=kV9cChnFCsPiLMFpWMQezFwfbVBRgD+OAvDi4W9LrE8=;\n b=bo5jBCc863rT0TCxs3c0OL8g99n98i3tnF3R3ALp6Tf/D/HpZtZutKRrm8zIbkzQer\n Xq2YCLPIAOACuy6rVoJrh2TY1vy2c0ep88Uv/ndvVCFe3v6aEYyGwjJHHfapOSgRvy8N\n nSOVn2Rzziyb/GXuqLXa9l7zaYZ++uudcODP5hvtmKIcwpFDS4FGHPEyF8omLSaEsusi\n 0ljJqsIm1TXqf2wMm2ClXl0UI9oTVUJH37wt8IXI4BuMSvOotsO6LYYQG9WUac/ySBw/\n Izp7Oxa5v1dvQpQ3cuBcScHnZ2UKRI5hNK43kNCQTmK8gOzOGdl4p0BXktPyppMYGMdD\n U7UQ==", "X-Gm-Message-State": "AOJu0YwwscY3J9dSuYqiKuFAQ7Tgu0tRa4XHRv3O/9KooaQAfZ7to3F5\n sLvVr06Gx+wQQZVCV8EKXrGrBzoeiarUuhWMJpcLNM/Ib8wIEZvWBSTcf+1UCup+BT27+GF91yR\n v/qKw1WcFvaPIJ6zZEONCby1+dolxjQ==", "X-Google-Smtp-Source": "\n AGHT+IEhoXnk7i10AGWWIUpxIo29zoj7lkpfA7dE1oM3DIzUNGyYe5bNeOoihOFvRQRdjiFV3bh/WVr+I2qLTq24zWc=", "X-Received": "by 2002:a05:6870:a691:b0:229:ce58:477a with SMTP id\n i17-20020a056870a69100b00229ce58477amr6510142oam.19.1714053795089; Thu, 25\n Apr 2024 07:03:15 -0700 (PDT)", "MIME-Version": "1.0", "References": "\n <CA+sj1i9vXMtxeDnM9bzgnVyNTa-CCRyEvPP6hcbfLbuegxLRzg@mail.gmail.com>\n <20240415112602.690972-1-aomeryamac@gmail.com>\n <20240423142432.0fcedf20@hermes.local>", "In-Reply-To": "<20240423142432.0fcedf20@hermes.local>", "From": "=?utf-8?b?QWJkdWxsYWggw5ZtZXIgWWFtYcOn?= <aomeryamac@gmail.com>", "Date": "Thu, 25 Apr 2024 17:03:04 +0300", "Message-ID": "\n <CA+sj1i9s4XdnP-NQbDAfLjhbyDTc6Bkfj3JrrvNqsobxNmT4Qg@mail.gmail.com>", "Subject": "Re: [PATCH v4] lib/hash: add defer queue reclaim API", "To": "Stephen Hemminger <stephen@networkplumber.org>", "Cc": "dev@dpdk.org", "Content-Type": "multipart/alternative; boundary=\"0000000000009523870616ec3fbf\"", "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" }, "addressed": null } ]