List cover comments

GET /api/covers/54419/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<http://patches.dpdk.org/api/covers/54419/comments/?format=api&page=1>; rel="first",
<http://patches.dpdk.org/api/covers/54419/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 96794, "web_url": "http://patches.dpdk.org/comment/96794/", "msgid": "<CAJFAV8y8e7p9881pFYU8ZebKayHwAxe2CvBRhZ-nDXpgFzQXUQ@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAJFAV8y8e7p9881pFYU8ZebKayHwAxe2CvBRhZ-nDXpgFzQXUQ@mail.gmail.com", "date": "2019-06-05T16:29:56", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 1173, "url": "http://patches.dpdk.org/api/people/1173/?format=api", "name": "David Marchand", "email": "david.marchand@redhat.com" }, "content": "On Wed, Jun 5, 2019 at 6:00 PM Phil Yang <phil.yang@arm.com> wrote:\n\n> This patch set added MCS lock library and its unit test.\n>\n> The MCS lock (proposed by JOHN M. MELLOR-CRUMMEY and MICHAEL L. SCOTT)\n> provides\n> scalability by spinning on a CPU/thread local variable which avoids\n> expensive\n> cache bouncings. It provides fairness by maintaining a list of acquirers\n> and\n> passing the lock to each CPU/thread in the order they acquired the lock.\n>\n> References:\n> 1.\n> http://web.mit.edu/6.173/www/currentsemester/readings/R06-scalable-synchronization-1991.pdf\n> 2. https://lwn.net/Articles/590243/\n>\n> Mirco-benchmarking result:\n>\n> ------------------------------------------------------------------------------------------------\n> MCS lock | spinlock | ticket\n> lock\n>\n> ------------------------------+--------------------------------+--------------------------------\n> Test with lock on 13 cores... | Test with lock on 14 cores... | Test\n> with lock on 14 cores...\n> Core [15] Cost Time = 22426 us| Core [14] Cost Time = 47974 us| Core\n> [14] cost time = 66761 us\n> Core [16] Cost Time = 22382 us| Core [15] Cost Time = 46979 us| Core\n> [15] cost time = 66766 us\n> Core [17] Cost Time = 22294 us| Core [16] Cost Time = 46044 us| Core\n> [16] cost time = 66761 us\n> Core [18] Cost Time = 22412 us| Core [17] Cost Time = 28793 us| Core\n> [17] cost time = 66767 us\n> Core [19] Cost Time = 22407 us| Core [18] Cost Time = 48349 us| Core\n> [18] cost time = 66758 us\n> Core [20] Cost Time = 22436 us| Core [19] Cost Time = 19381 us| Core\n> [19] cost time = 66766 us\n> Core [21] Cost Time = 22414 us| Core [20] Cost Time = 47914 us| Core\n> [20] cost time = 66763 us\n> Core [22] Cost Time = 22405 us| Core [21] Cost Time = 48333 us| Core\n> [21] cost time = 66766 us\n> Core [23] Cost Time = 22435 us| Core [22] Cost Time = 38900 us| Core\n> [22] cost time = 66749 us\n> Core [24] Cost Time = 22401 us| Core [23] Cost Time = 45374 us| Core\n> [23] cost time = 66765 us\n> Core [25] Cost Time = 22408 us| Core [24] Cost Time = 16121 us| Core\n> [24] cost time = 66762 us\n> Core [26] Cost Time = 22380 us| Core [25] Cost Time = 42731 us| Core\n> [25] cost time = 66768 us\n> Core [27] Cost Time = 22395 us| Core [26] Cost Time = 29439 us| Core\n> [26] cost time = 66768 us\n> | Core [27] Cost Time = 38071 us| Core\n> [27] cost time = 66767 us\n>\n> ------------------------------+--------------------------------+--------------------------------\n> Total Cost Time = 291195 us | Total Cost Time = 544403 us | Total\n> cost time = 934687 us\n>\n> ------------------------------------------------------------------------------------------------\n>\n\nHad a quick look, interesting.\n\nQuick comments:\n- your numbers are for 13 cores, while the other are for 14, what is the\nreason?\n- do we need per architecture header? all I can see is generic code, we\nmight as well directly put rte_mcslock.h in the common/include directory.\n- could we replace the current spinlock with this approach? is this more\nexpensive than spinlock on lowly contended locks? is there a reason we want\nto keep all these approaches? we could have now 3 lock implementations.\n- do we need to write the authors names in full capitalized version? it\nseems like you are shouting :-)", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 1B42C1BBD8;\n\tWed, 5 Jun 2019 18:30:09 +0200 (CEST)", "from mail-vs1-f66.google.com (mail-vs1-f66.google.com\n\t[209.85.217.66]) by dpdk.org (Postfix) with ESMTP id 2396F1BBD0\n\tfor <dev@dpdk.org>; Wed, 5 Jun 2019 18:30:08 +0200 (CEST)", "by mail-vs1-f66.google.com with SMTP id m8so6988014vsj.0\n\tfor <dev@dpdk.org>; Wed, 05 Jun 2019 09:30:08 -0700 (PDT)" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=/uA87a0jWVTPkMtiFdoi3bILYn//6bNxkIkYjAh/5Iw=;\n\tb=eCsct61gE+rd81CFxSF6dUA54oOnIUzrAu7lrVfDn5uyltZnALhmgmgltJ/zkUdPNP\n\t5x8WqBF1qmP5oQCLGfquTGt+mGD7s/YVVb7rNQKI5CI5RWlCLiIPLOHTTfUJfaNs6QJ0\n\tkqMv4Yd7Pt1yfe6feDHXf1lZYfn+HwF+zE+joruLmoqvWW0+Eb1TF9sGOPZ/AGP8x5y+\n\tCURygL9RqsgG1i4cN3lWMscLAZW25P5HdlGnom9aiBw66qKugvwyNTm7e6sEqtgjl6yw\n\tMR6X0A4P1yRQvBVqA69UhH3K/fz91m+cSpldxHnldxWGYC7IzdkpSgttPihLU4zb1LKH\n\tm+NQ==", "X-Gm-Message-State": "APjAAAWyUh6B25uKFg+M7nctaG9c4Yj8JovVtiM4qkE2R/XMeksa6uVK\n\tr/i+vVU+j5IEv80JPQYzFDWrEordnWBta4bOc0583w==", "X-Google-Smtp-Source": "APXvYqyR8/e60Uck/3fAmqIT8IuY/PpfqZMMw7cm91GW1QfItQY35KTNCYZ0KiH9SaTsc56rDPnJtA+vFFK/ufeCgfU=", "X-Received": "by 2002:a67:e9ca:: with SMTP id\n\tq10mr9640197vso.105.1559752207609; \n\tWed, 05 Jun 2019 09:30:07 -0700 (PDT)", "MIME-Version": "1.0", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "In-Reply-To": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "From": "David Marchand <david.marchand@redhat.com>", "Date": "Wed, 5 Jun 2019 18:29:56 +0200", "Message-ID": "<CAJFAV8y8e7p9881pFYU8ZebKayHwAxe2CvBRhZ-nDXpgFzQXUQ@mail.gmail.com>", "To": "Phil Yang <phil.yang@arm.com>", "Cc": "dev <dev@dpdk.org>, Thomas Monjalon <thomas@monjalon.net>, \n\tJerin Jacob Kollanukkaran <jerinj@marvell.com>, hemant.agrawal@nxp.com,\n\tHonnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,\n\tGavin Hu <gavin.hu@arm.com>, nd <nd@arm.com>", "Content-Type": "text/plain; charset=\"UTF-8\"", "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 96803, "web_url": "http://patches.dpdk.org/comment/96803/", "msgid": "<20190605094738.5e7a455e@hermes.lan>", "list_archive_url": "https://inbox.dpdk.org/dev/20190605094738.5e7a455e@hermes.lan", "date": "2019-06-05T16:47:38", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 27, "url": "http://patches.dpdk.org/api/people/27/?format=api", "name": "Stephen Hemminger", "email": "stephen@networkplumber.org" }, "content": "On Wed, 5 Jun 2019 23:58:45 +0800\nPhil Yang <phil.yang@arm.com> wrote:\n\n> This patch set added MCS lock library and its unit test.\n> \n> The MCS lock (proposed by JOHN M. MELLOR-CRUMMEY and MICHAEL L. SCOTT) provides\n> scalability by spinning on a CPU/thread local variable which avoids expensive\n> cache bouncings. It provides fairness by maintaining a list of acquirers and\n> passing the lock to each CPU/thread in the order they acquired the lock.\n> \n> References:\n> 1. http://web.mit.edu/6.173/www/currentsemester/readings/R06-scalable-synchronization-1991.pdf\n> 2. https://lwn.net/Articles/590243/\n> \n> Mirco-benchmarking result:\n> ------------------------------------------------------------------------------------------------\n> MCS lock | spinlock | ticket lock\n> ------------------------------+--------------------------------+--------------------------------\n> Test with lock on 13 cores... | Test with lock on 14 cores... | Test with lock on 14 cores...\n> Core [15] Cost Time = 22426 us| Core [14] Cost Time = 47974 us| Core [14] cost time = 66761 us\n> Core [16] Cost Time = 22382 us| Core [15] Cost Time = 46979 us| Core [15] cost time = 66766 us\n> Core [17] Cost Time = 22294 us| Core [16] Cost Time = 46044 us| Core [16] cost time = 66761 us\n> Core [18] Cost Time = 22412 us| Core [17] Cost Time = 28793 us| Core [17] cost time = 66767 us\n> Core [19] Cost Time = 22407 us| Core [18] Cost Time = 48349 us| Core [18] cost time = 66758 us\n> Core [20] Cost Time = 22436 us| Core [19] Cost Time = 19381 us| Core [19] cost time = 66766 us\n> Core [21] Cost Time = 22414 us| Core [20] Cost Time = 47914 us| Core [20] cost time = 66763 us\n> Core [22] Cost Time = 22405 us| Core [21] Cost Time = 48333 us| Core [21] cost time = 66766 us\n> Core [23] Cost Time = 22435 us| Core [22] Cost Time = 38900 us| Core [22] cost time = 66749 us\n> Core [24] Cost Time = 22401 us| Core [23] Cost Time = 45374 us| Core [23] cost time = 66765 us\n> Core [25] Cost Time = 22408 us| Core [24] Cost Time = 16121 us| Core [24] cost time = 66762 us\n> Core [26] Cost Time = 22380 us| Core [25] Cost Time = 42731 us| Core [25] cost time = 66768 us\n> Core [27] Cost Time = 22395 us| Core [26] Cost Time = 29439 us| Core [26] cost time = 66768 us\n> | Core [27] Cost Time = 38071 us| Core [27] cost time = 66767 us\n> ------------------------------+--------------------------------+--------------------------------\n> Total Cost Time = 291195 us | Total Cost Time = 544403 us | Total cost time = 934687 us\n> ------------------------------------------------------------------------------------------------\n\nFrom the user point of view there needs to be clear recommendations\non which lock type to use.\n\nAnd if one of the lock types is always slower it should be deprecated long term.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D6CD21B9B0;\n\tWed, 5 Jun 2019 18:47:41 +0200 (CEST)", "from mail-pf1-f195.google.com (mail-pf1-f195.google.com\n\t[209.85.210.195]) by dpdk.org (Postfix) with ESMTP id 16F3D1B993\n\tfor <dev@dpdk.org>; Wed, 5 Jun 2019 18:47:41 +0200 (CEST)", "by mail-pf1-f195.google.com with SMTP id d126so15182902pfd.2\n\tfor <dev@dpdk.org>; Wed, 05 Jun 2019 09:47:40 -0700 (PDT)", "from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127])\n\tby smtp.gmail.com with ESMTPSA id\n\tj37sm13820845pgj.58.2019.06.05.09.47.39\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tWed, 05 Jun 2019 09:47:40 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=vFC2sJFSgJKfwolinduRRgYETZAhwzDtHjPUPGZ6I8s=;\n\tb=a25jCUsSkCx0q7SMPUTMoZ8Ty52x9A+WL0B/Mu436Zx4B2x0Uo2PsixDFUcqxAzavX\n\t8GQ56b+1D2pPOLkv2CT5Zx2SWMibSSheWAABZTGL5wlXWxoq7k3zKhM6xugw+Eqyx1AI\n\tnd88HmJsldJO4rC4gaHwJgRl0KFfNbO1J5dAOTOAnUQNj88gk99w+O3kaHp1+W0WNPra\n\tR6Q7mMoaMmGSmJcwD9fwTHwFp37g3Ttmch/Zfnal0stGXwKBitEqkj5qoGirvaefPKuM\n\tU6p8XWbeTu4Hv0wFy1sQ4WShtrK1rmiMuKjrBmHCYAGdv3vFJYt+6jbSwDcdEC6TKcwY\n\tx6IQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=vFC2sJFSgJKfwolinduRRgYETZAhwzDtHjPUPGZ6I8s=;\n\tb=atwsndF/XixXEyCVUkHg8tJDHPjVchFJ1mU30FFGE0vOFO3pc8vr8hdDaPdJ7eqeOc\n\tCf1RpzmpHXtjodlFNbJ6Z0uQ4OWq8h2lhIVL0ywlrAXQ4rO7aFsrtbOa4Aso3TRyYFMw\n\twaC1bcdSokGOXwcMW3MurzTsK1kfa/oRPYJzGI3i5Fz7c4mS64sVoD8iHuCG1ACgvxwW\n\tHtfw+QqBpLwYmiaKj8v6tXYDZ+wXyjyFD1UQS+IgNqWyBGkHkTRRJ2YSteJEzgqUBfjn\n\t2r9gWLvcy2sb3V27rRhAz9RXb9zgGIwQDiitn8wZorTAtU7ENGMf2R4qsdMbYEg/xNH4\n\tAigw==", "X-Gm-Message-State": "APjAAAWnTViSDq7HxbB5wQElz2MGoUnYmiVQpJeq9FHRKcHvMMgnOUXC\n\tnBt+CFI1JhySwITgmwBd4/iq8A==", "X-Google-Smtp-Source": "APXvYqxDLxsN0KKXs29MxZsRxY+0A1vbUkTwRA4Nt7uLbEDTTJX0O7Azn052QXkZzZZLDMZrmduEyA==", "X-Received": "by 2002:a63:950d:: with SMTP id\n\tp13mr5736760pgd.269.1559753260247; \n\tWed, 05 Jun 2019 09:47:40 -0700 (PDT)", "Date": "Wed, 5 Jun 2019 09:47:38 -0700", "From": "Stephen Hemminger <stephen@networkplumber.org>", "To": "Phil Yang <phil.yang@arm.com>", "Cc": "dev@dpdk.org, thomas@monjalon.net, jerinj@marvell.com,\n\themant.agrawal@nxp.com, Honnappa.Nagarahalli@arm.com, gavin.hu@arm.com,\n\tnd@arm.com", "Message-ID": "<20190605094738.5e7a455e@hermes.lan>", "In-Reply-To": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=US-ASCII", "Content-Transfer-Encoding": "quoted-printable", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 96809, "web_url": "http://patches.dpdk.org/comment/96809/", "msgid": "<21374459.POzZW4d86n@xps>", "list_archive_url": "https://inbox.dpdk.org/dev/21374459.POzZW4d86n@xps", "date": "2019-06-05T17:35:31", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "content": "05/06/2019 17:58, Phil Yang:\n> This patch set added MCS lock library and its unit test.\n\nIt seems this patch is targetting 19.08,\nhowever it missed the proposal deadline by 2 days.\n\n+Cc techboard for a decision.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5D1541B95B;\n\tWed, 5 Jun 2019 19:35:37 +0200 (CEST)", "from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com\n\t[66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 92EF62B8E;\n\tWed, 5 Jun 2019 19:35:35 +0200 (CEST)", "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id E6F9C22502;\n\tWed, 5 Jun 2019 13:35:34 -0400 (EDT)", "from mailfrontend2 ([10.202.2.163])\n\tby compute1.internal (MEProxy); Wed, 05 Jun 2019 13:35:34 -0400", "from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id 03D3F380088;\n\tWed, 5 Jun 2019 13:35:32 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tfrom:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding:content-type; s=mesmtp;\n\tbh=KjHv2uATN7wwnZ2znqVyn9BwHGx+PHhfOy9pA+EQawo=; b=o1whpVAIeW/p\n\tPom4um6XNQEEjz4rVc/Dvqj8JiSPjSmSS34AMkduVxw9PjP0M20bevjw++ayhWTy\n\tevR775z2nvAjyR7Nj0lMvWxbHuyV1mJ/AgAgM20l39ECXyZa3PdsMJwF1l1O/UHR\n\tPubgX0L7UoCij1KuNWR17jYEw2mtBx0=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:content-type\n\t:date:from:in-reply-to:message-id:mime-version:references\n\t:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender\n\t:x-sasl-enc; s=fm2; bh=KjHv2uATN7wwnZ2znqVyn9BwHGx+PHhfOy9pA+EQa\n\two=; b=0DnOEfnmTEQRrCt+jXPheVt6JVU2waT0nJ88aWD39TbESXx/TyRUwIgRl\n\tXNgsQXzI9YcW3ZLSnQEJeLOFc9Zu+NTFg5XY29lNIhlhUneyvFoXmgfYLrR936lE\n\t+9DHp4WYzlvgrYlHEuXFvmzZUMBF/OYtLIf+uIaeNKwOqToaxydO9h2rBJ549QCp\n\tY4k4ybXB7vfKiOt8QijmJp3jU25NNMXK9OrtqW+nIGCo7sxZu9CS0jqPrYK3Jie7\n\tMIDcMd1GQzSAmFF4J1vE9c/R2IILmpMWj/VSxxNPGvoZavbzPBCoe4X8uxjUysgJ\n\t96uCqHM9y248Chbkp1PgsI0OrhkPw==" ], "X-ME-Sender": "<xms:Zf33XCR6GwbghLY4zzE26AvSHng3ZNddYkwALYlz7NM6wNZL8GCgoQ>", "X-ME-Proxy-Cause": "gggruggvucftvghtrhhoucdtuddrgeduuddrudegvddgudduiecutefuodetggdotefrod\n\tftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh\n\tnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd\n\tenucfjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhm\n\trghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc\n\tfkphepjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpeht\n\thhhomhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd", "X-ME-Proxy": "<xmx:Zf33XGRso7Q3dLRBfQGe3B5kNdBSOdm7GeX7K3zy3iEFzhwkVQSauA>\n\t<xmx:Zf33XGh04KohYOlGbUdJEusN70u-YaxZJrluNasy4CKXDRWFUz9krQ>\n\t<xmx:Zf33XNLqO3ZauM88E6jOQOK0jIqox1yBEhfrHqlvU8bDDoByhS839A>\n\t<xmx:Zv33XH75Nn8Je84rSvO4F5XtOED4N_h-0Y4IQoJnsdk0F03UnGDXWA>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "Phil Yang <phil.yang@arm.com>", "Cc": "dev@dpdk.org, jerinj@marvell.com, hemant.agrawal@nxp.com,\n\tHonnappa.Nagarahalli@arm.com, gavin.hu@arm.com, nd@arm.com,\n\ttechboard@dpdk.org", "Date": "Wed, 05 Jun 2019 19:35:31 +0200", "Message-ID": "<21374459.POzZW4d86n@xps>", "In-Reply-To": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "7Bit", "Content-Type": "text/plain; charset=\"us-ascii\"", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 96815, "web_url": "http://patches.dpdk.org/comment/96815/", "msgid": "<AM0PR08MB5138A8280994C35B84B3473298160@AM0PR08MB5138.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/AM0PR08MB5138A8280994C35B84B3473298160@AM0PR08MB5138.eurprd08.prod.outlook.com", "date": "2019-06-05T19:59:56", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 1045, "url": "http://patches.dpdk.org/api/people/1045/?format=api", "name": "Honnappa Nagarahalli", "email": "honnappa.nagarahalli@arm.com" }, "content": "On Wed, Jun 5, 2019 at 6:00 PM Phil Yang <phil.yang@arm.com<mailto:phil.yang@arm.com>> wrote:\nThis patch set added MCS lock library and its unit test.\n\nThe MCS lock (proposed by JOHN M. MELLOR-CRUMMEY and MICHAEL L. SCOTT) provides\nscalability by spinning on a CPU/thread local variable which avoids expensive\ncache bouncings. It provides fairness by maintaining a list of acquirers and\npassing the lock to each CPU/thread in the order they acquired the lock.\n\nReferences:\n1. http://web.mit.edu/6.173/www/currentsemester/readings/R06-scalable-synchronization-1991.pdf\n2. https://lwn.net/Articles/590243/\n\nMirco-benchmarking result:\n------------------------------------------------------------------------------------------------\nMCS lock | spinlock | ticket lock\n------------------------------+--------------------------------+--------------------------------\nTest with lock on 13 cores... | Test with lock on 14 cores... | Test with lock on 14 cores...\nCore [15] Cost Time = 22426 us| Core [14] Cost Time = 47974 us| Core [14] cost time = 66761 us\nCore [16] Cost Time = 22382 us| Core [15] Cost Time = 46979 us| Core [15] cost time = 66766 us\nCore [17] Cost Time = 22294 us| Core [16] Cost Time = 46044 us| Core [16] cost time = 66761 us\nCore [18] Cost Time = 22412 us| Core [17] Cost Time = 28793 us| Core [17] cost time = 66767 us\nCore [19] Cost Time = 22407 us| Core [18] Cost Time = 48349 us| Core [18] cost time = 66758 us\nCore [20] Cost Time = 22436 us| Core [19] Cost Time = 19381 us| Core [19] cost time = 66766 us\nCore [21] Cost Time = 22414 us| Core [20] Cost Time = 47914 us| Core [20] cost time = 66763 us\nCore [22] Cost Time = 22405 us| Core [21] Cost Time = 48333 us| Core [21] cost time = 66766 us\nCore [23] Cost Time = 22435 us| Core [22] Cost Time = 38900 us| Core [22] cost time = 66749 us\nCore [24] Cost Time = 22401 us| Core [23] Cost Time = 45374 us| Core [23] cost time = 66765 us\nCore [25] Cost Time = 22408 us| Core [24] Cost Time = 16121 us| Core [24] cost time = 66762 us\nCore [26] Cost Time = 22380 us| Core [25] Cost Time = 42731 us| Core [25] cost time = 66768 us\nCore [27] Cost Time = 22395 us| Core [26] Cost Time = 29439 us| Core [26] cost time = 66768 us\n | Core [27] Cost Time = 38071 us| Core [27] cost time = 66767 us\n------------------------------+--------------------------------+--------------------------------\nTotal Cost Time = 291195 us | Total Cost Time = 544403 us | Total cost time = 934687 us\n------------------------------------------------------------------------------------------------\n\nHad a quick look, interesting.\n\nQuick comments:\n- your numbers are for 13 cores, while the other are for 14, what is the reason?\n- do we need per architecture header? all I can see is generic code, we might as well directly put rte_mcslock.h in the common/include directory.\n- could we replace the current spinlock with this approach? is this more expensive than spinlock on lowly contended locks? is there a reason we want to keep all these approaches? we could have now 3 lock implementations.\n- do we need to write the authors names in full capitalized version? it seems like you are shouting :-)\n[Honnappa] IMO, writing full names is a cultural thing? I do not see any harm. But, I do think, we do not need to capitalize everything.\n\n\n--\nDavid Marchand\n[Honnappa] This mail is appearing as HTML, would be good to change to text mode. It is much easier to add inline comments.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 280BE1B957;\n\tWed, 5 Jun 2019 22:00:00 +0200 (CEST)", "from EUR04-DB3-obe.outbound.protection.outlook.com\n\t(mail-eopbgr60057.outbound.protection.outlook.com [40.107.6.57])\n\tby dpdk.org (Postfix) with ESMTP id 4D5431B94D\n\tfor <dev@dpdk.org>; Wed, 5 Jun 2019 21:59:58 +0200 (CEST)", "from AM0PR08MB5138.eurprd08.prod.outlook.com (10.255.30.207) by\n\tAM0PR08MB3204.eurprd08.prod.outlook.com (52.134.93.161) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1943.22; Wed, 5 Jun 2019 19:59:57 +0000", "from AM0PR08MB5138.eurprd08.prod.outlook.com\n\t([fe80::44bb:6d5d:24b2:3eb2]) by\n\tAM0PR08MB5138.eurprd08.prod.outlook.com\n\t([fe80::44bb:6d5d:24b2:3eb2%4]) with mapi id 15.20.1965.011;\n\tWed, 5 Jun 2019 19:59:57 +0000" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n\ts=selector2-armh-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=Epaf6M2cbLCWgG6ydK9U6SR5uWx8liTrPQb8WHxBzY0=;\n\tb=3333vpWxtTFcIKlsH/2cgciS2ScEUe4wqKVMOsrInRTqEAJ3RATXjv3JmwJNsL7/xIOl30/itpxdSNjgwNBM8G4pN0xovHMz+XQrcB6O6KO5qHqJo0bJtACXcqQH8hNR4WlYY02UB1DxukMpDFg26UATTIupYxoHGP2NNSzR9DQ=", "From": "Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>", "To": "David Marchand <david.marchand@redhat.com>, \"Phil Yang (Arm Technology\n\tChina)\" <Phil.Yang@arm.com>", "CC": "dev <dev@dpdk.org>, \"thomas@monjalon.net\" <thomas@monjalon.net>,\n\t\"jerinj@marvell.com\" <jerinj@marvell.com>, \"hemant.agrawal@nxp.com\"\n\t<hemant.agrawal@nxp.com>, \"Gavin Hu (Arm Technology China)\"\n\t<Gavin.Hu@arm.com>, nd <nd@arm.com>, nd <nd@arm.com>", "Thread-Topic": "[dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "Thread-Index": "AQHVG7ew6KDo672Zm02KzQXmNGoZBaaNQGIAgAAw8aA=", "Date": "Wed, 5 Jun 2019 19:59:56 +0000", "Message-ID": "<AM0PR08MB5138A8280994C35B84B3473298160@AM0PR08MB5138.eurprd08.prod.outlook.com>", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>\n\t<CAJFAV8y8e7p9881pFYU8ZebKayHwAxe2CvBRhZ-nDXpgFzQXUQ@mail.gmail.com>", "In-Reply-To": "<CAJFAV8y8e7p9881pFYU8ZebKayHwAxe2CvBRhZ-nDXpgFzQXUQ@mail.gmail.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-ts-tracking-id": "8e272471-882f-495c-8d48-0703b475242b.0", "x-checkrecipientchecked": "true", "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Honnappa.Nagarahalli@arm.com; ", "x-originating-ip": "[217.140.111.135]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-correlation-id": "441b9a3b-7b0d-4720-2ad9-08d6e9f06255", "x-ms-office365-filtering-ht": "Tenant", "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);\n\tSRVR:AM0PR08MB3204; ", "x-ms-traffictypediagnostic": "AM0PR08MB3204:", "x-ms-exchange-purlcount": "2", "x-ld-processed": "f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr", "nodisclaimer": "True", "x-microsoft-antispam-prvs": "<AM0PR08MB3204762914648FC141E047BC98160@AM0PR08MB3204.eurprd08.prod.outlook.com>", "x-ms-oob-tlc-oobclassifiers": "OLM:10000;", "x-forefront-prvs": "00594E8DBA", "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(39860400002)(346002)(376002)(396003)(136003)(366004)(199004)(189003)(99286004)(71200400001)(33656002)(71190400001)(606006)(4326008)(2906002)(66556008)(236005)(76176011)(966005)(66446008)(66476007)(256004)(73956011)(76116006)(25786009)(6246003)(7736002)(14444005)(64756008)(66946007)(72206003)(186003)(81166006)(478600001)(53936002)(66066001)(26005)(446003)(11346002)(229853002)(9686003)(54896002)(5660300002)(6636002)(68736007)(6306002)(81156014)(6116002)(8676002)(74316002)(53546011)(6436002)(54906003)(6506007)(110136005)(486006)(102836004)(55016002)(3846002)(8936002)(316002)(7696005)(86362001)(52536014)(476003)(790700001)(14454004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR08MB3204;\n\tH:AM0PR08MB5138.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; A:1; MX:1; ", "received-spf": "None (protection.outlook.com: arm.com does not designate\n\tpermitted sender hosts)", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam-message-info": "BfX8PbhGbOdnRpcEK1r7xI2elqhT/GKZCGGtx+KmKhzp1MmN7RmKsHazAyuu/LPAC6j0iasCNYfUxqFX0d9nLvl5e8bgzk/5qquFwU5X+8HC9yP6UCYkohh3qT82x70vxSMNZ0gGYorJDdADYOFUxt3jYSydrkUamuUArO/O0V6lvAdsWUlhAOU43/g+qxxsHbYjbdKFKsmZw/1BiePj/907laS/VOO7Hza7OMqrA2ZclQioLgyEaRsh9xECwNqqXE4xMICZsBjrCnnLBlemN9zxPSXWUUPceRzU77GAYwOUIJ6+Vg2BQ02g5qKihmjU10BYa/yW551jzFlvJajxIPedjFAKt7UKsnxREt4v7+SId1n31PJbaL7ZixlIgcEUAnBtJwen8mTbrlLmw+AMwVYvWBuRRNegmXGKKQg71eM=", "MIME-Version": "1.0", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "441b9a3b-7b0d-4720-2ad9-08d6e9f06255", "X-MS-Exchange-CrossTenant-originalarrivaltime": "05 Jun 2019 19:59:56.9486\n\t(UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "Honnappa.Nagarahalli@arm.com", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM0PR08MB3204", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 96820, "web_url": "http://patches.dpdk.org/comment/96820/", "msgid": "<VE1PR08MB5149DBD1DD7EB0BA6A583A2998160@VE1PR08MB5149.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VE1PR08MB5149DBD1DD7EB0BA6A583A2998160@VE1PR08MB5149.eurprd08.prod.outlook.com", "date": "2019-06-05T20:48:35", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 1045, "url": "http://patches.dpdk.org/api/people/1045/?format=api", "name": "Honnappa Nagarahalli", "email": "honnappa.nagarahalli@arm.com" }, "content": "+David\n(had similar questions)\n\n> -----Original Message-----\n> From: Stephen Hemminger <stephen@networkplumber.org>\n> Sent: Wednesday, June 5, 2019 11:48 AM\n> To: Phil Yang (Arm Technology China) <Phil.Yang@arm.com>\n> Cc: dev@dpdk.org; thomas@monjalon.net; jerinj@marvell.com;\n> hemant.agrawal@nxp.com; Honnappa Nagarahalli\n> <Honnappa.Nagarahalli@arm.com>; Gavin Hu (Arm Technology China)\n> <Gavin.Hu@arm.com>; nd <nd@arm.com>\n> Subject: Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation\n> \n> On Wed, 5 Jun 2019 23:58:45 +0800\n> Phil Yang <phil.yang@arm.com> wrote:\n> \n> > This patch set added MCS lock library and its unit test.\n> >\n> > The MCS lock (proposed by JOHN M. MELLOR-CRUMMEY and MICHAEL L.\n> SCOTT)\n> > provides scalability by spinning on a CPU/thread local variable which\n> > avoids expensive cache bouncings. It provides fairness by maintaining\n> > a list of acquirers and passing the lock to each CPU/thread in the order they\n> acquired the lock.\n> >\n> > References:\n> > 1.\n> > http://web.mit.edu/6.173/www/currentsemester/readings/R06-scalable-syn\n> > chronization-1991.pdf\n> > 2. https://lwn.net/Articles/590243/\n> >\n> > Mirco-benchmarking result:\n> > ------------------------------------------------------------------------------------------------\n> > MCS lock | spinlock | ticket lock\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+--\n> > Test with lock on 13 cores... | Test with lock on 14 cores... | Test with lock\n> on 14 cores...\n> > Core [15] Cost Time = 22426 us| Core [14] Cost Time = 47974 us| Core\n> > [14] cost time = 66761 us Core [16] Cost Time = 22382 us| Core [15]\n> > Cost Time = 46979 us| Core [15] cost time = 66766 us Core [17] Cost\n> > Time = 22294 us| Core [16] Cost Time = 46044 us| Core [16] cost time\n> > = 66761 us Core [18] Cost Time = 22412 us| Core [17] Cost Time =\n> > 28793 us| Core [17] cost time = 66767 us Core [19] Cost Time = 22407\n> > us| Core [18] Cost Time = 48349 us| Core [18] cost time = 66758 us\n> > Core [20] Cost Time = 22436 us| Core [19] Cost Time = 19381 us| Core\n> > [19] cost time = 66766 us Core [21] Cost Time = 22414 us| Core [20]\n> > Cost Time = 47914 us| Core [20] cost time = 66763 us Core [22] Cost\n> > Time = 22405 us| Core [21] Cost Time = 48333 us| Core [21] cost time\n> > = 66766 us Core [23] Cost Time = 22435 us| Core [22] Cost Time =\n> > 38900 us| Core [22] cost time = 66749 us Core [24] Cost Time = 22401 us|\n> Core [23] Cost Time = 45374 us| Core [23] cost time = 66765 us Core [25] Cost\n> Time = 22408 us| Core [24] Cost Time = 16121 us| Core [24] cost time =\n> 66762 us Core [26] Cost Time = 22380 us| Core [25] Cost Time = 42731 us|\n> Core [25] cost time = 66768 us Core [27] Cost Time = 22395 us| Core [26] Cost\n> Time = 29439 us| Core [26] cost time = 66768 us\n> > | Core [27] Cost Time = 38071 us| Core\n> > [27] cost time = 66767 us\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+------\n> > ------------------------------+--------------------------------+--\n> > Total Cost Time = 291195 us | Total Cost Time = 544403 us | Total cost\n> time = 934687 us\n> > ----------------------------------------------------------------------\n> > --------------------------\n> \n> From the user point of view there needs to be clear recommendations on\n> which lock type to use.\nI think the data about fairness needs to be added to this - especially for ticket lock. IMO, we should consider fairness and space (cache lines) along with cycles.\n\n> \n> And if one of the lock types is always slower it should be deprecated long term.\nThe ticket lock can be a drop-in replacement for spinlock. Gavin is working on a patch which will make ticket lock as the backend for spinlock through a configuration. But the performance needs to be considered.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C37CC1B9BD;\n\tWed, 5 Jun 2019 22:48:38 +0200 (CEST)", "from EUR04-VI1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr80070.outbound.protection.outlook.com [40.107.8.70])\n\tby dpdk.org (Postfix) with ESMTP id 386C61B957\n\tfor <dev@dpdk.org>; Wed, 5 Jun 2019 22:48:37 +0200 (CEST)", "from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.152) by\n\tVE1PR08MB4832.eurprd08.prod.outlook.com (10.255.113.21) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1965.12; Wed, 5 Jun 2019 20:48:35 +0000", "from VE1PR08MB5149.eurprd08.prod.outlook.com\n\t([fe80::9983:2882:a24:c0b0]) by\n\tVE1PR08MB5149.eurprd08.prod.outlook.com\n\t([fe80::9983:2882:a24:c0b0%5]) with mapi id 15.20.1965.011;\n\tWed, 5 Jun 2019 20:48:35 +0000" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n\ts=selector2-armh-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=z7yAbiTDajfEjEpqSEYJk0sjNn0i/Z9VZGz+rrEYqVg=;\n\tb=cmJkKdjkhygiIgcR/1Sya5DwOehBdyc2yHkIuxpoHU9FCeWVJiSeFQJfEXdMufSdfQwehhJLlh0NMDwsdJ+PB52qMTb1Gl+k/va04VwtMwneCxlgGCzJeR2lKNVECPyT8dnBlGb9WWj8/MeT+4tlT3xQKIqKnle68FL8HZnM5XU=", "From": "Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>", "To": "Stephen Hemminger <stephen@networkplumber.org>,\n\t\"Phil Yang (Arm Technology China)\" <Phil.Yang@arm.com>,\n\tDavid Marchand <david.marchand@redhat.com>", "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, \"thomas@monjalon.net\"\n\t<thomas@monjalon.net>, \"jerinj@marvell.com\" <jerinj@marvell.com>,\n\t\"hemant.agrawal@nxp.com\" <hemant.agrawal@nxp.com>,\n\t\"Gavin Hu (Arm Technology\n\tChina)\" <Gavin.Hu@arm.com>, Honnappa Nagarahalli\n\t<Honnappa.Nagarahalli@arm.com>, nd <nd@arm.com>, nd <nd@arm.com>", "Thread-Topic": "[dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "Thread-Index": "AQHVG7ew6KDo672Zm02KzQXmNGoZBaaNRVQAgAA1wNA=", "Date": "Wed, 5 Jun 2019 20:48:35 +0000", "Message-ID": "<VE1PR08MB5149DBD1DD7EB0BA6A583A2998160@VE1PR08MB5149.eurprd08.prod.outlook.com>", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>\n\t<20190605094738.5e7a455e@hermes.lan>", "In-Reply-To": "<20190605094738.5e7a455e@hermes.lan>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-ts-tracking-id": "abcf796a-20e0-4fbf-8643-9bcdb78b2f71.0", "x-checkrecipientchecked": "true", "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Honnappa.Nagarahalli@arm.com; ", "x-originating-ip": "[217.140.111.135]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-correlation-id": "fd7f8fb7-2371-44cc-a9f2-08d6e9f72dff", "x-ms-office365-filtering-ht": "Tenant", "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);\n\tSRVR:VE1PR08MB4832; ", "x-ms-traffictypediagnostic": "VE1PR08MB4832:", "x-ms-exchange-purlcount": "2", "x-ld-processed": "f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr", "nodisclaimer": "True", "x-microsoft-antispam-prvs": "<VE1PR08MB48322AD4025CA104915B7D4A98160@VE1PR08MB4832.eurprd08.prod.outlook.com>", "x-ms-oob-tlc-oobclassifiers": "OLM:8273;", "x-forefront-prvs": "00594E8DBA", "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(136003)(396003)(39860400002)(366004)(346002)(13464003)(199004)(189003)(486006)(4326008)(25786009)(316002)(110136005)(54906003)(33656002)(476003)(73956011)(26005)(72206003)(76176011)(478600001)(102836004)(446003)(14454004)(11346002)(7696005)(86362001)(966005)(8936002)(186003)(66476007)(66556008)(66946007)(64756008)(99286004)(66446008)(71190400001)(71200400001)(53546011)(6506007)(256004)(76116006)(14444005)(68736007)(53936002)(229853002)(6246003)(2906002)(55016002)(6306002)(6436002)(9686003)(7736002)(305945005)(81166006)(81156014)(74316002)(8676002)(66066001)(6116002)(52536014)(5660300002)(3846002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4832;\n\tH:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; A:1; MX:1; ", "received-spf": "None (protection.outlook.com: arm.com does not designate\n\tpermitted sender hosts)", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam-message-info": "niFFVQVXFXv8AEEPnseE2Do4y0tyEdu34Q/nT8suSx/vpCqIRv7QHJ1OpZt+bkC0jWC6BzWBF+fII7A7AU9E4WnFSOsJhCcJwtggepf85LJIJH7TvfdtbkENERXxP4qtBbiqmpHtRhS0sjfjqVz/3nuEBhD2SscvQbCoxzq8C7btqrC/2sVF0sBt1twTjKpWpPZNmdhgnrQm+DVRvwICztUc3zJ6byf6gSONj/NplX8QALGlkqUYlmUgCXf1XqOltNEn93qeFfpVltw2ZKuMq8LlC6ZDB5TX3BzGGnSAYq1HIYwqEmTm6AG2vljL5kVBtDAENGV4QXWa7M5ymRgZAlyuoQz3rkhcqAFYW+IuzDbvOXL/MChESdnuFZ6DuEezaAIYPkpYxeIQCwyalm4iCmxBK8W6Sit6e5W3ij2m9co=", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "MIME-Version": "1.0", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "fd7f8fb7-2371-44cc-a9f2-08d6e9f72dff", "X-MS-Exchange-CrossTenant-originalarrivaltime": "05 Jun 2019 20:48:35.6068\n\t(UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "Honnappa.Nagarahalli@arm.com", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VE1PR08MB4832", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 96845, "web_url": "http://patches.dpdk.org/comment/96845/", "msgid": "<VE1PR08MB46405E6B25F69FE5B8DB36D2E9170@VE1PR08MB4640.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VE1PR08MB46405E6B25F69FE5B8DB36D2E9170@VE1PR08MB4640.eurprd08.prod.outlook.com", "date": "2019-06-06T10:17:01", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 833, "url": "http://patches.dpdk.org/api/people/833/?format=api", "name": "Phil Yang", "email": "phil.yang@arm.com" }, "content": "From: David Marchand <david.marchand@redhat.com>\nSent: Thursday, June 6, 2019 12:30 AM\nTo: Phil Yang (Arm Technology China) <Phil.Yang@arm.com>\nCc: dev <dev@dpdk.org>; thomas@monjalon.net; jerinj@marvell.com; hemant.agrawal@nxp.com; Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; nd <nd@arm.com>\nSubject: Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation\n\n\n\nOn Wed, Jun 5, 2019 at 6:00 PM Phil Yang <phil.yang@arm.com<mailto:phil.yang@arm.com>> wrote:\nThis patch set added MCS lock library and its unit test.\n\nThe MCS lock (proposed by JOHN M. MELLOR-CRUMMEY and MICHAEL L. SCOTT) provides\nscalability by spinning on a CPU/thread local variable which avoids expensive\ncache bouncings. It provides fairness by maintaining a list of acquirers and\npassing the lock to each CPU/thread in the order they acquired the lock.\n\nReferences:\n1. http://web.mit.edu/6.173/www/currentsemester/readings/R06-scalable-synchronization-1991.pdf\n2. https://lwn.net/Articles/590243/\n\nMirco-benchmarking result:\n------------------------------------------------------------------------------------------------\nMCS lock | spinlock | ticket lock\n------------------------------+--------------------------------+--------------------------------\nTest with lock on 13 cores... | Test with lock on 14 cores... | Test with lock on 14 cores...\nCore [15] Cost Time = 22426 us| Core [14] Cost Time = 47974 us| Core [14] cost time = 66761 us\nCore [16] Cost Time = 22382 us| Core [15] Cost Time = 46979 us| Core [15] cost time = 66766 us\nCore [17] Cost Time = 22294 us| Core [16] Cost Time = 46044 us| Core [16] cost time = 66761 us\nCore [18] Cost Time = 22412 us| Core [17] Cost Time = 28793 us| Core [17] cost time = 66767 us\nCore [19] Cost Time = 22407 us| Core [18] Cost Time = 48349 us| Core [18] cost time = 66758 us\nCore [20] Cost Time = 22436 us| Core [19] Cost Time = 19381 us| Core [19] cost time = 66766 us\nCore [21] Cost Time = 22414 us| Core [20] Cost Time = 47914 us| Core [20] cost time = 66763 us\nCore [22] Cost Time = 22405 us| Core [21] Cost Time = 48333 us| Core [21] cost time = 66766 us\nCore [23] Cost Time = 22435 us| Core [22] Cost Time = 38900 us| Core [22] cost time = 66749 us\nCore [24] Cost Time = 22401 us| Core [23] Cost Time = 45374 us| Core [23] cost time = 66765 us\nCore [25] Cost Time = 22408 us| Core [24] Cost Time = 16121 us| Core [24] cost time = 66762 us\nCore [26] Cost Time = 22380 us| Core [25] Cost Time = 42731 us| Core [25] cost time = 66768 us\nCore [27] Cost Time = 22395 us| Core [26] Cost Time = 29439 us| Core [26] cost time = 66768 us\n | Core [27] Cost Time = 38071 us| Core [27] cost time = 66767 us\n------------------------------+--------------------------------+--------------------------------\nTotal Cost Time = 291195 us | Total Cost Time = 544403 us | Total cost time = 934687 us\n------------------------------------------------------------------------------------------------\n\nHad a quick look, interesting.\n\nHi David,\n\nThanks for your comments.\n\nQuick comments:\n- your numbers are for 13 cores, while the other are for 14, what is the reason?\n[Phil]The test case skipped the master thread while doing the load test. The master thread just controls the trigger. So all the other threads acquiring the lock and running the same workload at the same time.\nActually, there is no difference on per core performance when it involved the master thread in the load test.\n\n- do we need per architecture header? all I can see is generic code, we might as well directly put rte_mcslock.h in the common/include directory.\n[Phil] I just trying to leave it for architecture specific optimization.\n\n- could we replace the current spinlock with this approach? is this more expensive than spinlock on lowly contended locks? is there a reason we want to keep all these approaches? we could have now 3 lock implementations.\n[Phil] Under the high lock contention scenarios, MCS is much better than spinlock. However, MCS lock is more complicated than spinlock and more expensive than spinlock in the single thread scenario. E.g:\nTest with lock on single core..\nMCS lock :\nCore [14] Cost Time = 327 us\n\nSpinlock:\nCore [14] Cost Time = 258 us\n\nticket lock:\nCore [14] cost time = 195 us\nI think in low-contention scenarios but you still need mutual exclusion you can use spinlock. It is lighter. I think that all depends on the application.\n\n- do we need to write the authors names in full capitalized version? it seems like you are shouting :-)\n[Phil] :-) I will modify it in the next version. Thanks.\n\n\n--\nDavid Marchand\n\n\nThanks,\nPhil Yang", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 7AA0C1B964;\n\tThu, 6 Jun 2019 12:17:05 +0200 (CEST)", "from EUR02-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr20054.outbound.protection.outlook.com [40.107.2.54])\n\tby dpdk.org (Postfix) with ESMTP id 3E2101B95B\n\tfor <dev@dpdk.org>; Thu, 6 Jun 2019 12:17:04 +0200 (CEST)", "from VE1PR08MB4640.eurprd08.prod.outlook.com (10.255.27.75) by\n\tVE1PR08MB4896.eurprd08.prod.outlook.com (10.255.113.213) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1965.14; Thu, 6 Jun 2019 10:17:01 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com\n\t([fe80::8553:e059:25a2:d0ab]) by\n\tVE1PR08MB4640.eurprd08.prod.outlook.com\n\t([fe80::8553:e059:25a2:d0ab%6]) with mapi id 15.20.1943.023;\n\tThu, 6 Jun 2019 10:17:01 +0000" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n\ts=selector2-armh-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=IOicVqHvF6ZuEAPAQcBeu88YrXQB++kzn/+0vTnMukA=;\n\tb=q6h76qsofk+EPbWzq0ZZtwdnVQGw62H6H5He0gcoXf37UUzq20Bv4sCz2BdIN1J7VQq9m8Oah8gNbV+zXSHMEFlVvnUUs4JVGMK0bpMW6PRNoTRAiXzEAWZUAXy7t2M7xDIa5BcYGNdg70Pmkm3QVYkIBGZkiajFlkDbOP87/FY=", "From": "\"Phil Yang (Arm Technology China)\" <Phil.Yang@arm.com>", "To": "David Marchand <david.marchand@redhat.com>", "CC": "dev <dev@dpdk.org>, \"thomas@monjalon.net\" <thomas@monjalon.net>,\n\t\"jerinj@marvell.com\" <jerinj@marvell.com>, \"hemant.agrawal@nxp.com\"\n\t<hemant.agrawal@nxp.com>, Honnappa Nagarahalli\n\t<Honnappa.Nagarahalli@arm.com>, \"Gavin Hu (Arm Technology China)\"\n\t<Gavin.Hu@arm.com>, nd <nd@arm.com>, nd <nd@arm.com>", "Thread-Topic": "[dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "Thread-Index": "AQHVG7ew1upcwjQPE0q1K7358PPTg6aNQGIAgAEb5qA=", "Date": "Thu, 6 Jun 2019 10:17:01 +0000", "Message-ID": "<VE1PR08MB46405E6B25F69FE5B8DB36D2E9170@VE1PR08MB4640.eurprd08.prod.outlook.com>", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>\n\t<CAJFAV8y8e7p9881pFYU8ZebKayHwAxe2CvBRhZ-nDXpgFzQXUQ@mail.gmail.com>", "In-Reply-To": "<CAJFAV8y8e7p9881pFYU8ZebKayHwAxe2CvBRhZ-nDXpgFzQXUQ@mail.gmail.com>", "Accept-Language": "zh-CN, en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Phil.Yang@arm.com; ", "x-originating-ip": "[113.29.88.7]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-correlation-id": "9dfb6bb7-5f71-4ad9-dff3-08d6ea681dec", "x-ms-office365-filtering-ht": "Tenant", "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);\n\tSRVR:VE1PR08MB4896; ", "x-ms-traffictypediagnostic": "VE1PR08MB4896:", "x-ms-exchange-purlcount": "2", "x-ld-processed": "f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr", "nodisclaimer": "True", "x-microsoft-antispam-prvs": "<VE1PR08MB48960ECBCB9BF3DA40BB007BE9170@VE1PR08MB4896.eurprd08.prod.outlook.com>", "x-ms-oob-tlc-oobclassifiers": "OLM:8882;", "x-forefront-prvs": "00603B7EEF", "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(979002)(136003)(376002)(39860400002)(396003)(346002)(366004)(199004)(189003)(51444003)(25786009)(54906003)(99286004)(7736002)(86362001)(8676002)(53546011)(7696005)(446003)(76176011)(71200400001)(6506007)(71190400001)(33656002)(256004)(14444005)(102836004)(55236004)(74316002)(966005)(8936002)(72206003)(14454004)(790700001)(6116002)(81156014)(81166006)(478600001)(3846002)(2906002)(6306002)(54896002)(9686003)(26005)(486006)(236005)(229853002)(55016002)(5660300002)(316002)(6246003)(6916009)(4326008)(68736007)(606006)(186003)(6436002)(52536014)(53936002)(11346002)(476003)(73956011)(66946007)(66476007)(64756008)(66446008)(66556008)(66066001)(76116006)(969003)(989001)(999001)(1009001)(1019001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4896;\n\tH:VE1PR08MB4640.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; A:1; MX:1; ", "received-spf": "None (protection.outlook.com: arm.com does not designate\n\tpermitted sender hosts)", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam-message-info": "0Gt36vMwv5Ozlx3wbJ7Meeccx+IJ63lz5MuMbdb+bWWfhQRClCVzusTaMF+r7C6gdu3xfuACj23wfJja6GJ2B6Cp/orxSEE5b8p/j23ECRdPbQvLkQnXXeX035IS6TdK1NrNNdMU5GWwnqJ3i5t1fghCgnlFe2uS+FlBKanbdVIxYDt/05dtL12vvyz3tkrX5ujjj0cDwa3NpILoDkGSjDVvE1v4n/1Z8uoQrI3l51ZcwaU0juCjy4k5xNE4SREdBjmWDxyLqrhd4yJ4IC0YG7vWqeAETuHmdIs/gYpHuk+MURdn95onTkMvjTiGmnYcYy/kTE6eP6KglJBGBIhfysajp7gR2bV9cWbBHmVdPHRZ1fE9KQGNEexE1V2JXi6Kk1XILHjW7dP/TEonyUYStrbrdKB/+ueX5dshSKZiSxk=", "MIME-Version": "1.0", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "9dfb6bb7-5f71-4ad9-dff3-08d6ea681dec", "X-MS-Exchange-CrossTenant-originalarrivaltime": "06 Jun 2019 10:17:01.7226\n\t(UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "Phil.Yang@arm.com", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VE1PR08MB4896", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 98211, "web_url": "http://patches.dpdk.org/comment/98211/", "msgid": "<2092867.9Mj67vrD68@xps>", "list_archive_url": "https://inbox.dpdk.org/dev/2092867.9Mj67vrD68@xps", "date": "2019-07-04T20:12:25", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "content": "05/06/2019 17:58, Phil Yang:\n> This patch set added MCS lock library and its unit test.\n> \n> The MCS lock (proposed by JOHN M. MELLOR-CRUMMEY and MICHAEL L. SCOTT) provides\n> scalability by spinning on a CPU/thread local variable which avoids expensive\n> cache bouncings. It provides fairness by maintaining a list of acquirers and\n> passing the lock to each CPU/thread in the order they acquired the lock.\n\nWhat is the plan for this patch?\nDo we try to get more reviews for a merge in 19.08-rc2?\nOr we target 19.11?", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D03572C60;\n\tThu, 4 Jul 2019 22:12:29 +0200 (CEST)", "from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com\n\t[66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 6ABA22C38\n\tfor <dev@dpdk.org>; Thu, 4 Jul 2019 22:12:28 +0200 (CEST)", "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id E64D521BA9;\n\tThu, 4 Jul 2019 16:12:27 -0400 (EDT)", "from mailfrontend1 ([10.202.2.162])\n\tby compute1.internal (MEProxy); Thu, 04 Jul 2019 16:12:27 -0400", "from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id 56F568005A;\n\tThu, 4 Jul 2019 16:12:26 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tfrom:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding:content-type; s=mesmtp;\n\tbh=gTPnsjnk4eInCVQROZXjiyqlKR+/4IswvQmI1FYJgr4=; b=c+wijXV686ul\n\tEwI4l3nqRwbKPlMcNkUl0FaL/193Oz1EAMbOaSCApWGSCta9TJuqP0SLHXCPBm3n\n\twjIx/vjKtCTy8YkgxsYsK/IRHmlm9XSnHpgq2255Ccy+AEbTuY0/M73epPKvix+m\n\tpV8nehUSel3RIza8j67fRmLjF5l5OYg=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:content-type\n\t:date:from:in-reply-to:message-id:mime-version:references\n\t:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender\n\t:x-sasl-enc; s=fm3; bh=gTPnsjnk4eInCVQROZXjiyqlKR+/4IswvQmI1FYJg\n\tr4=; b=SPin44/4SKIxOr5OaK4VKvwy+cSQ0Vx1aNCJJk5MVUGKG/V6SnKyg0Dkl\n\tRN/QhqH8R2Ib0/f79E6OWrx++zu3VNpS8dvbL8skzNrkawsqFWuuvCZZ058yBqwc\n\tAC7ikW2+SSNqGeG58NbKsTjTPmeJn0Pf03uFX0owVGmbAjEpC+JVQje1RWXQrnSE\n\tt6yVNMgFIqaHgVgSHwtVJ0K2oFuDlBJjXGnxiKhgRQVwzZFCMQO29cJV2vtDFMXh\n\tBRmwMzaI780mF7TwpHs0VmU5waBAiMLcoptwo+cNjTTxQ7rXLy792T0bsuGItEpD\n\tDFItZ2R8WlsLkbRLgO58mAOjaWJzw==" ], "X-ME-Sender": "<xms:q10eXYE2dRXvAKC_kHD6cM89oErEglnfvX8ckunN6IHyw7_kwghsLA>", "X-ME-Proxy-Cause": "gggruggvucftvghtrhhoucdtuddrgeduvddrfedvgddugeelucetufdoteggodetrfdotf\n\tfvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n\tuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n\tcujfgurhephffvufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr\n\tshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecukf\n\thppeejjedrudefgedrvddtfedrudekgeenucfrrghrrghmpehmrghilhhfrhhomhepthhh\n\tohhmrghssehmohhnjhgrlhhonhdrnhgvthenucevlhhushhtvghrufhiiigvpedt", "X-ME-Proxy": "<xmx:q10eXdd_pKjd_RcWqiIjBzwPWHmaY_YNpcjoEKolejQN0YhKM7s9YA>\n\t<xmx:q10eXeQLz1LPRie6YS1NsayyT_lwFGHuORMfrUrEHHd-9--nwJW6og>\n\t<xmx:q10eXevbtD7zGP8khBbBMlFEdIU3gECi8DekDWwxhUu8yl3QdTCVNA>\n\t<xmx:q10eXXiCnNhwPsGOVQ57U9NE0vb2fdX25qLs6hmLDGOEcPS-ZVRCBg>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "Phil Yang <phil.yang@arm.com>, Honnappa.Nagarahalli@arm.com", "Cc": "dev@dpdk.org, jerinj@marvell.com, hemant.agrawal@nxp.com,\n\tgavin.hu@arm.com, nd@arm.com", "Date": "Thu, 04 Jul 2019 22:12:25 +0200", "Message-ID": "<2092867.9Mj67vrD68@xps>", "In-Reply-To": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "7Bit", "Content-Type": "text/plain; charset=\"us-ascii\"", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 98268, "web_url": "http://patches.dpdk.org/comment/98268/", "msgid": "<VE1PR08MB464070C54657F6BC4661797CE9F50@VE1PR08MB4640.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VE1PR08MB464070C54657F6BC4661797CE9F50@VE1PR08MB4640.eurprd08.prod.outlook.com", "date": "2019-07-05T10:33:35", "subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "submitter": { "id": 833, "url": "http://patches.dpdk.org/api/people/833/?format=api", "name": "Phil Yang", "email": "phil.yang@arm.com" }, "content": "> -----Original Message-----\n> From: Thomas Monjalon <thomas@monjalon.net>\n> Sent: Friday, July 5, 2019 4:12 AM\n> To: Phil Yang (Arm Technology China) <Phil.Yang@arm.com>; Honnappa\n> Nagarahalli <Honnappa.Nagarahalli@arm.com>\n> Cc: dev@dpdk.org; jerinj@marvell.com; hemant.agrawal@nxp.com; Gavin\n> Hu (Arm Technology China) <Gavin.Hu@arm.com>; nd <nd@arm.com>\n> Subject: Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation\n> \n> 05/06/2019 17:58, Phil Yang:\n> > This patch set added MCS lock library and its unit test.\n> >\n> > The MCS lock (proposed by JOHN M. MELLOR-CRUMMEY and MICHAEL L.\n> SCOTT) provides\n> > scalability by spinning on a CPU/thread local variable which avoids\n> expensive\n> > cache bouncings. It provides fairness by maintaining a list of acquirers and\n> > passing the lock to each CPU/thread in the order they acquired the lock.\n> \n> What is the plan for this patch?\nI have reworked this patch and addressed all the comments in the previous version. Please review the v3. \n\n> Do we try to get more reviews for a merge in 19.08-rc2?\n> Or we target 19.11?\n> \nThank,\nPhil", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 8831E1BE42;\n\tFri, 5 Jul 2019 12:33:38 +0200 (CEST)", "from EUR02-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr20088.outbound.protection.outlook.com [40.107.2.88])\n\tby dpdk.org (Postfix) with ESMTP id 458751BE23\n\tfor <dev@dpdk.org>; Fri, 5 Jul 2019 12:33:37 +0200 (CEST)", "from VE1PR08MB4640.eurprd08.prod.outlook.com (10.255.27.75) by\n\tVE1PR08MB4864.eurprd08.prod.outlook.com (10.255.113.142) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.2052.18; Fri, 5 Jul 2019 10:33:35 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com\n\t([fe80::d411:12c1:65b9:874f]) by\n\tVE1PR08MB4640.eurprd08.prod.outlook.com\n\t([fe80::d411:12c1:65b9:874f%3]) with mapi id 15.20.2032.019;\n\tFri, 5 Jul 2019 10:33:35 +0000" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n\ts=selector2-armh-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=wWG07RP06sLJVp6tPLa2/7nApDjgYvglK9Y0QXbKoJg=;\n\tb=fqNEhap0h7soY7fmub/rGMK6rz+5sWGPjF1hVwo0uS5JtHNCeFfOGY2A/ItwZ6XOeYsUwyQj3wnMA1mJhHn+L1GX8NwOQ0WQS3mGtv6Y86H18GmvjbJquMVSfWZ8cPDcd09PcPHFuLs+U6kVzBOQFL5St+pe2xhYq4s9yRhLXzo=", "From": "\"Phil Yang (Arm Technology China)\" <Phil.Yang@arm.com>", "To": "\"thomas@monjalon.net\" <thomas@monjalon.net>, Honnappa Nagarahalli\n\t<Honnappa.Nagarahalli@arm.com>", "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, \"jerinj@marvell.com\" <jerinj@marvell.com>,\n\t\"hemant.agrawal@nxp.com\" <hemant.agrawal@nxp.com>,\n\t\"Gavin Hu (Arm Technology\n\tChina)\" <Gavin.Hu@arm.com>, nd <nd@arm.com>, nd <nd@arm.com>", "Thread-Topic": "[dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "Thread-Index": "AQHVG7ew1upcwjQPE0q1K7358PPTg6a7EieAgADmdVA=", "Date": "Fri, 5 Jul 2019 10:33:35 +0000", "Message-ID": "<VE1PR08MB464070C54657F6BC4661797CE9F50@VE1PR08MB4640.eurprd08.prod.outlook.com>", "References": "<1559750328-22377-1-git-send-email-phil.yang@arm.com>\n\t<2092867.9Mj67vrD68@xps>", "In-Reply-To": "<2092867.9Mj67vrD68@xps>", "Accept-Language": "zh-CN, en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-ts-tracking-id": "31d11b77-5a9e-4cb3-9130-225ab8e60171.0", "x-checkrecipientchecked": "true", "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Phil.Yang@arm.com; ", "x-originating-ip": "[113.29.88.7]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-correlation-id": "e256a4ea-18db-47ed-7cfc-08d701343c03", "x-ms-office365-filtering-ht": "Tenant", "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);\n\tSRVR:VE1PR08MB4864; ", "x-ms-traffictypediagnostic": "VE1PR08MB4864:", "x-ld-processed": "f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr", "x-microsoft-antispam-prvs": "<VE1PR08MB486434619B12D338D7526ABEE9F50@VE1PR08MB4864.eurprd08.prod.outlook.com>", "nodisclaimer": "True", "x-ms-oob-tlc-oobclassifiers": "OLM:6790;", "x-forefront-prvs": "008960E8EC", "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(4636009)(346002)(396003)(376002)(39860400002)(366004)(136003)(13464003)(189003)(199004)(55236004)(76176011)(2501003)(4744005)(186003)(7696005)(2906002)(25786009)(102836004)(66476007)(66946007)(305945005)(99286004)(76116006)(6636002)(73956011)(26005)(5660300002)(7736002)(53546011)(6116002)(6506007)(3846002)(71200400001)(74316002)(81156014)(54906003)(110136005)(316002)(81166006)(14454004)(6246003)(71190400001)(8676002)(8936002)(53936002)(52536014)(14444005)(86362001)(68736007)(9686003)(446003)(256004)(55016002)(476003)(11346002)(72206003)(33656002)(66066001)(6436002)(229853002)(66446008)(66556008)(64756008)(486006)(4326008)(478600001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4864;\n\tH:VE1PR08MB4640.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; MX:1; A:1; ", "received-spf": "None (protection.outlook.com: arm.com does not designate\n\tpermitted sender hosts)", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam-message-info": "/DNgk6Cn0RW++/vWe6s0JlVKdpIcErxSLkcLThww4R/xVyIRJU2aFcDdkykUjrU7OjecwaYW2EK3ETgroN9e/coJORNpOy4hZrWAPuzrk5YsVz6E242sHp49yv+6nfGONB5eiyMKsJhQBFUu/J3x9IlaRtNVrMhogM4atHiXBA3o2rGztwYCEDIHOy4ty01ekg8cth9iDF02yMfmsuMIXeJ9bUqugRR8tftNozOs52nSp76Y0rNs1aWegiQJ6szltql1XEfRNF+uPbm2P6Aj5XChblA1ra3cXWKFFc2eIK1YqjXhLVHQIWQOnvo0bFzdBG/SllhFPN0g9cliQTeswJW1kf3NBnFBASFtM/VWCib1HTKrucWtHfT/9bUI4cXKI9M6DfNL+r/9sFdSRU/UIjNKgWcpr3clbig6akFQGNg=", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "e256a4ea-18db-47ed-7cfc-08d701343c03", "X-MS-Exchange-CrossTenant-originalarrivaltime": "05 Jul 2019 10:33:35.1284\n\t(UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "Phil.Yang@arm.com", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VE1PR08MB4864", "Subject": "Re: [dpdk-dev] [PATCH v1 0/3] MCS queued lock implementation", "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null } ]