[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] rwlock: remove unneeded subtraction


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Tue, 15 Feb 2022 10:39:51 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SGQ+PEr0Xkvv6f6pzW4fFhaM/PSZBG+XpUJ/niOegzw=; b=flrLG3/D4vbxIySzDkGWW2clgHp5GB51qpYbs+N3UqBzQDAl0v/gZFtaQGVp6sw7/V4LP5RNdQhDuzzbroXCdDWZY97ZbcciT09f6wUMVXol6II4wGcXTN3qVPMjU5Gk+vPcbyl7GNaDaJXExJp3UzEbciq/xoG0UEfSlg5bgDqYSrl45NzW3f5KnyXuDM7xnqh+XWztiqEKRApYt0qD2gckaE059U5nS9JBmxIrJi45pYt2mGKcrdxHnECFcy1mr+SAxZheGUt+9MK6mpibkJIcnl8mX22rcu0aMRXF6uf7c71AylXmAT872sFfUCsKmDr0nP1YgVuWDXZ/9tt+SA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nzHbdYxIhbTOnoaaEJWEVPBYKNwl0Awp9OzPqQnrH14pcyyu0FRRkE66uiHmduhYC6qOoVdzTmZnqNMSiglWAlBJl3JuIpnNXTBPWQi+Z4GRkfBaDXUffDtbd1+QW8PDgjFUVVnCHbNs9U6/T3HudhlYa4EwJzyExRa2vlB3B7WneN0SQow5MpQ71F6kGlrqTwBREiHGXmmvqdV2WWuGqn3DGbgyXuM2z+1bgDPflUACov9qgv+uEib+SAseZjcFgwVp/+TfOuWXDCHCGaT5oh6h1MTp5EMuJLdPcHuv9kb4D9XuWgAHkxnRYX0WRmCipUQEAao3bG4ynuc4GuUEnA==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Tue, 15 Feb 2022 09:41:32 +0000
  • Ironport-data: A9a23:pzHk+6traEmnsSPD24xBCP9MR+fnVKZZMUV32f8akzHdYApBsoF/q tZmKW+EM/jeMzGkf9kjPt+/9xgGscOGz4A3SVBu+S5hEC0S+JbJXdiXEBz9bniYRiHhoOOLz Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYy2IXhWWthh PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ Npl9p6OF14xJv32sv1BYQBjEChFDYtJ9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JwXR6uON pVxhTxHSBuZXUB2AgkuBKkPrMLvrCXDKAJ1twfAzUYwyzeKl1EguFT3C/LOYcCDT8hRmkeep 0rF8n7/DxVcM8aQoRKa9lq8i+mJmjn0MKoQCbm5+/hCkFCVgGsJB3U+RVa95PW0lEO6c9ZeM FAPvDojq7Ao806mRcW7WAe3yFaGtBMBX9tbE8Uh9RqAjKHT5m6k6nMsF2AbLoZ87YlvGGJsh gThc87V6SJH87+rFyuF7ueuhyruCzEuLmY5VQkLQl5QizX8m70bghXKR9dlNae6iNzpBD39q wy3QDgCa6Y71pBSifjilbzTq3f1/8WSEFZpjunCdj/9tmtEiJiZi5tEALQxxdJJN86nQ1aIp xDocODOvblVXflheMFgKdjh/Y1FBd7YalUwYnY1RvHNEghBHFb5I+htDMlWfhsBDyr9UWaBj LXvkQ1Q/oRPG3ChcLV6ZYm8Y+xzk/S8SoS1C62MN4EUCnSUSONg1HswDXN8Iki3yBR8+U3BE cvznTmQ4YYyVv08kWveqxY12r433CEurV4/trigpylLJYG2PSbPIZ9caQPmRrlgsMus/VWEm /4CZpDi40gOD4XDjtz/rNd7waYidiNgW/gbaqV/K4a+H+aRMDh6VaGImep7I9MNcmY8vr6gw 0xRk3RwkTLXrXbGNR+LejZkbrbuVox4tnU1IWonOlPA5pTpSd/HAH43e8RlcL852vZkyPIoH fAJd9/ZWqZESyjd+iRbZp749dQweBOujAOIHiykfDlgIMIwG12XoofpLln16S0DLiurrs9i8 beu4RzWHMgYTAN4AceINP/2lwGtvWIQkf5ZVlfTJoUBY13l9YVncnSjjvI+L8wWBw/Ewz+Wi 1SfDRsC/LGfqI4p6tjZw6uDqt7xQed5G0NbGUjd7Kq3anaGrjbyn9cYXb/RLz7HVW7y9KGzX slvzqnxYK8dgVJHk4tgCLI3n6gw0MTi+u1BxQN+EXSVM1nyUuF8ImOL1NVkv7FWwuMLohO/X 0+C94UIObiNP8+5QlcdKBB8M7aG3PAQ3DLT8e40MAPx4youpOiLVkBbPh+tji1BLeQqbNN5k Ll54MNGuRaijhcKM8qdinEG/muBGXUMTqE7u8xIG4TskAcqlglPbJG05vUaO31ThwGg6nUXH wI=
  • Ironport-hdrordr: A9a23:iOLetKh0TQSe/SnvaEWa2XZF1nBQXzZ13DAbv31ZSRFFG/FwyP rAoB1L73PJYWgqNU3I+ergBEGBKUmskaKdhrNhR4tKPTOWw1dASbsN0WKM+UyHJ8STzJ8+6U 4CSdkANDSTNykCsS+S2mDReLxBsbq6GciT9JvjJhxWPGZXgs9bnmJE4lHxKDwKeOAKP+txKL Osou584xawc3Ueacq2QlEDQuj4vtXO0LbrewQPCRIL4BSHyWrA0s+wLzGomjMlFx9fy7Yr9m bI1yT/+6WYqvm+jjvRzXXa4Zh6kMbojvFDGMuPoM4ILSiEsHfhWK1RH5m5+BwlquCm71gn1P HKvhcbJsx2r0jce2mkyCGdrzXI4XIL0TvP2FWYiXzsrYjSXzQhEfdMgopfb1/w91cglMsU6t MG40up875sST/QliX04NbFEztwkFCvnHYkmekPy1RCTIolbqNLp4B3xjIZLH45JlO11GkbKp guMCmFj8wmMW9yLkqp9FWH+ebcEUjaRXy9Mws/Us/86UkioJk29Tpb+CUlpAZwyHsKceg32w 31CNUXqFhwdL5nUUsEPpZ4fSKWMB27ffueChPlHbzYfJt3SE4l7aSHpYkI2A==
  • Ironport-sdr: jZnQ9vxquUa/lqTDun32g+48I7XEqHw2ypSqd76V/sjyL1TZ2vMl3dXfQPctXZI/gk/lCJ7ZU2 YtBKlctHcc2EefzGZKwb5npl3MHFyVhPMMQAWQLwmflSSp3kHiFELZ55jrsFZCg/Vwy/A4bia/ wiEsFBlhpdfYM/wgvIHD6h9mbue3mKohpvNpoEWI6x2/fkqgIfjSzU4DMq1Au3znkYN+L5Ljud 4jp5lQCYRhA5PrvdL+/wF0zteS0BykkGd4yBVvgTqWA7Gmp2xkY+YbB1ZPMCo9lt/9gZYMJIsx ybmMrWWAu5+YE7WJ1zRdCl70
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

There's no need to subtract _QR_BIAS from the lock value for storing
in the local cnts variable in the read lock slow path: the users of
the value in cnts only care about the writer-related bits and use a
mask to get the value.

Note that further setting of cnts in rspin_until_writer_unlock already
do not subtract _QR_BIAS.

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
 xen/common/rwlock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/rwlock.c b/xen/common/rwlock.c
index dadab372b5..aa15529bbe 100644
--- a/xen/common/rwlock.c
+++ b/xen/common/rwlock.c
@@ -47,7 +47,7 @@ void queue_read_lock_slowpath(rwlock_t *lock)
     while ( atomic_read(&lock->cnts) & _QW_WMASK )
         cpu_relax();
 
-    cnts = atomic_add_return(_QR_BIAS, &lock->cnts) - _QR_BIAS;
+    cnts = atomic_add_return(_QR_BIAS, &lock->cnts);
     rspin_until_writer_unlock(lock, cnts);
 
     /*
-- 
2.34.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.