Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1378393

Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to pv_wait()

Path csiph.com!eternal-september.org!feeder.eternal-september.org!goblin3!goblin-spool!goblin2!goblin.stu.neva.ru!gothmog.csi.it!bofh.it!news.nic.it!robomod
From Waiman Long <waiman.long@hpe.com>
Newsgroups linux.kernel
Subject Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to pv_wait()
Date Thu, 14 Apr 2016 04:00:03 +0200
Message-ID <rnEJB-2fa-5@gated-at.bofh.it> (permalink)
References <rnA3g-7bV-9@gated-at.bofh.it> <rnDkt-1ob-3@gated-at.bofh.it>
Authentication-Results infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=none action=none header.from=hpe.com;
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Thunderbird/10.0.12
MIME-Version 1.0
Content-Type text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding 7bit
X-Originating-IP [72.71.243.105]
X-Clientproxiedby BLUPR0301CA0019.namprd03.prod.outlook.com (10.162.113.157) To CS1PR84MB0312.NAMPRD84.PROD.OUTLOOK.COM (10.162.190.30)
X-Ms-Office365-Filtering-Correlation-ID bff59b3b-535e-47ec-5821-08d364086a91
X-Microsoft-Exchange-Diagnostics 1;CS1PR84MB0312;2:u5nyemS9nO33mr2lVWjyQVMx0dgksCKnja+lmbzKKoC1LHOPyrPwDmksHLfuTtuomuln5SNc/x0jw+i85edR6YQNXicoZlXCdIrarYEohg3ydZuSfcQ6+v7HeRoH30Ex8Wuboum0thXaidgpfafRKZ+/oabDpLP7oa85a7lKHuxde+9SZtw/K0EpU/nuWT7U;3:m1M6QoHExlNk0cw/HoSfgGm3IsRLG1cCUs8k6P6i8y6/Rxr7aSrIBHgIkRJlTyRkk3nu/wQDXYtVlO7MOUlZKA0gxtDJ+41p+/ps1oUkHPDtiRK0mMhXyM2J05Kx0Zat;25:p3eoW6R4L55yrxNAu0yCEtpeQLicRhGfJZmTnRrwJx18G46U/1f/39xQL+mRnfsQu7n2RVvJDnxTxBtE75xF2eIoWkCNIThzWIJQ1+npUdhj1hiYPbuM2HmSVy2FTDpOOJ4PSZ0RNj5rSjBh0bugQldlqUydxZDRpAHaoYUocdpYsTDmH+JqAqpDTW1ucy6oZzBj3ZTZ/SFV2Hut+AvWfm7mmO51Rbl95/g2uLDGee7k/rj1tyWUbtScgbLcmFoCKpd2TtFW/9GBbjFkLh2wavJ8ZeK7yrQgXoGfWjqQPUE5eFvoJRQwrM2Yy6jIRqlBp6TS+llmnmBaIFVQ8DFZvDKe0jC++7oAy/1g6PLAT+KEXeKn5Uy+FAI9pQVzXEbFkJOXAoEyqizEBKAidrn3MiPuptuqC+N45AwSCt/1/+mNFJdkbKqXfM6XL5HVgP6heVd1DBdF0a7IGkgBNQW3Pru4wpBDG3e+WruB81eMEv3XonqSH3BQ2mVGuNyQ6ssNLs/1UrkhSNhavaxmH65zzhzE6qSwAoA4zEnHz4dTjVqJ/opz1KATKzxC0BzUgRWntyhfoiQIdOg+ylFFW3wgIbGcqJflLoEOKzxHZakOADKIqW0agCUwNRX+ShchO+/H
X-Microsoft-Antispam UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0312;
X-Ld-Processed 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr
X-Microsoft-Exchange-Diagnostics 1;CS1PR84MB0312;20:lIbWOTPplNWIFFVFUoUGjAZXIHMi83dkKxCb2Ek34zGkFCPQxsUdkCKIQHePVvXJRpa0E0Go0Qg1FbAZ/xflZCdp8E4ypXY+2NUE5pJSKAdKg0BW9V+4oLtv8Tpt7vs+GxAINKItQ3S3wAreONJ7vXdCii6i0MP8wND8Z6Y+XdEhfZi+kX5I3hU+slHy46dDTbsZZunVYTcyaMRtHQCbpAJ+PSJlbKHj9SdvwL1v6elHLyfEjJaaahedIZRm+q6voVwsw/loYRTVLRHiFj9PE4n4PkoVuvxZCPC0TQo0ZrPlXXYUhacArzx3abPHvBmK93V3lL86H+u/JXN1N9IZBw==;4:ki5AgYMyXn+bmb7LXJAfKEyPufXCRtURRITZWljOXMOGDz1lW5d2teWY2WGGsZL2UD8ZFbv+b/ML1k23eNjDbvwMu7/JQOk4PfCyn23honN1rfla9eEQEOxmneCiLfDyQYH4KdNIpkvLAJu432prOt5293lriU25evFUJtdw2LpXp/3lPVZMDOavpvkSmmGf+lYx+OxU9sa09GrXjlnH3f12ejBentt+8kshaTdSdRvpoACxFQdHiOuBrmdgzqb+JUi3a/WZNArYM4GKUNEQ14YDdCOWgJX5Q3bTmEVXiNy1tWrvzfsepVkPdXfZy7CYz1jt2SvY4aP//MaWn7nLGEV3DwGArNdGIE1YpizfolmMUZufR0X0bK1utkIk2Vek
X-Microsoft-Antispam-Prvs <CS1PR84MB031287559E178F0B6B1B17F7F1970@CS1PR84MB0312.NAMPRD84.PROD.OUTLOOK.COM>
X-Exchange-Antispam-Report-Test UriScan:;
X-Exchange-Antispam-Report-Cfa-Test BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:CS1PR84MB0312;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0312;
X-Forefront-Prvs 0912297777
X-Forefront-Antispam-Report SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(24454002)(377454003)(2906002)(5008740100001)(81166005)(59896002)(64126003)(117156001)(66066001)(23756003)(230700001)(5004730100002)(47776003)(50466002)(189998001)(586003)(3846002)(1096002)(110136002)(77096005)(87266999)(86362001)(54356999)(6116002)(50986999)(80316001)(4326007)(4001350100001)(42186005)(76176999)(92566002)(2950100001)(36756003)(33656002);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR84MB0312;H:[192.168.142.156];FPR:;SPF:None;MLV:sfv;LANG:en;
X-Microsoft-Exchange-Diagnostics 1;CS1PR84MB0312;23:BL9+veNdZDlxyhBzCasJmAZoTibN33pzVkglVMbUwhK9ZAPevxh8VmEelFgV9XKqfVHbLCqntg4aAtrn4DFpJT1CaWtPS59lEdmQgJ02HWls99rAfqoPYc4+IRigoHzjilPyjcKVVsJb5CBdlCrwkl+nTCs9TMnUvgwiFIcsEsJMOojHFk67K5IZtm3ku6xxUbgkdjFI4vwXmL1ULmEB6WzDNENJ1hHiXNpUxeI2vZDc3FAjmxClBUbN7R4Ub9BDTZb0GNhKN5URdxI0bzjql/3BPFPaxqA1fJzX3M8S60kPy/w5u2sqa/1+H695X7k+I2PI+9VqlqIDAr8Pl5EC2/hYeVHzqgM8BJEVv0vfMsLV9Pw6nC+BATRvyzFLZLUR45+6FN3HDbD4gTAFFIgwV/WoWlugZPXDsw7+G8TiTynhckJNRxsDn0CHrpo2LPbgU6sI5VXCEazpmd7/2bBv2cETeQIKnKKG6WsmQONa7/UH2smNisTIWHHJ3dtF7dBu5NbJh8C1zyR4TMdOnNmO5H8kD5pklzigXwL/bx9X/CCC1J+vXQX1STofGAp5gZVy8ACZq/VkwFnjWAorMwbzp+LXFiEKrMDbG3zjSy/KOXn7w5NKU+rqY6nSsswXcBsa9zdKd6AyyW+r3RbK/6c1Huy7npj/a//Oq6b5BscJQx8IZsm/udk8yCRLiUvqgQIT513lyUq0Q7lV8eLtoYPHmjBFKKPVXtX2K9YVdZstr+OpnJg+2t6/qMkhmtAPgTl4Me1MS2mTWeDFVt787SkfboBlhmeAk3QSMJPFEYMV73Nmd3hUeF6P7HMJkCfssK/QbkIA9VV1m4f34CavMxHaNKR3xoCyKMXgPLypTBXCLWcmHfX1vhrwQPXHOLrPUw1jnIvgvwvEezVIBchxXC4s/Z//xVuWg6koJHDeU3zG+/mbXOsNaay1f62Y8A4flNxPd1q0kL8TMek/AAA4ix+QpUYbMLY9ebyJRDqQhmvQs2k=
X-Microsoft-Exchange-Diagnostics 1;CS1PR84MB0312;5:UZV/W1t/alhn3qbodNpYSmNDaDqJKdRRNSz6+E77HtNwIhkIV3PdxzaoxwGCGWBY2nSloKY+0IHGXf54uua+4b9vymKXuJaFOsBhBg4ynrB1J3Y9UBHQWd9tSxpEIH/2jfEnFjtZs8Cur91O+VTtgQ==;24:XwMgf9Ot2J7JBs1oHdtsEj0Whhrgj63HgHPd8PnPIN8yFolAKwPqLPx2nv5vjnXgQyNgZoRRY3llRfoU6GJ6OoY3p5J//dopXNPZxqcGwQ8=
Spamdiagnosticoutput 1:23
Spamdiagnosticmetadata NSPM
X-Originatororg hpe.com
X-Ms-Exchange-Crosstenant-Originalarrivaltime 14 Apr 2016 01:59:29.3235 (UTC)
X-Ms-Exchange-Crosstenant-Fromentityheader Hosted
X-Ms-Exchange-Transport-Crosstenantheadersstamped CS1PR84MB0312
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 24
Organization linux.* mail to news gateway
X-Original-Cc Ingo Molnar <mingo@redhat.com>, <linux-kernel@vger.kernel.org>, Pan Xinhui <xinhui@linux.vnet.ibm.com>, Scott J Norton <scott.norton@hpe.com>, Douglas Hatch <doug.hatch@hpe.com>
X-Original-Date Wed, 13 Apr 2016 21:59:15 -0400
X-Original-Message-ID <570EF973.4000402@hpe.com>
X-Original-References <1460581160-46187-1-git-send-email-Waiman.Long@hpe.com> <20160414002135.GP2906@worktop>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1378393

Show key headers only | View raw


On 04/13/2016 08:21 PM, Peter Zijlstra wrote:
> On Wed, Apr 13, 2016 at 04:59:20PM -0400, Waiman Long wrote:
>> Pan Xinhui was asking for a lock holder cpu argument in pv_wait()
>> to help the porting of pvqspinlock to PPC. The new argument will can
>> potentially help hypervisor expediate the execution of the critical
>> section so that the lock holder vCPU can release the lock sooner.
>>
>> This patch does just that by storing the previous node vCPU number.
>> In pv_wait_head_or_lock(), pv_wait() will be called with that vCPU
>> number as it is likely to be the lock holder. In pv_wait_node(),
>> -1 will be passed to pv_wait() instead to indicate that it doesn't
>> know what the current lock holder is.
> Without knowing why he needs this, it is very hard to tell if this will
> suffice.
>
> Xinhui, what do you need the extra argument for?

I have some other people asking me if pvqspinlock was able to pass in 
information about which CPU was the lock holder before as he cited the 
PPC code has this capability to somehow kick up the vCPU that has the 
lock. That can be potentially useful in x86 too.

Cheers,
Longman

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] locking/pvqspinlock: Add lock holder CPU argument to pv_wait() Waiman Long <Waiman.Long@hpe.com> - 2016-04-13 23:00 +0200
  Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to  pv_wait() Peter Zijlstra <peterz@infradead.org> - 2016-04-14 02:30 +0200
    Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to  pv_wait() Waiman Long <waiman.long@hpe.com> - 2016-04-14 04:00 +0200
    Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to  pv_wait() Pan Xinhui <xinhui@linux.vnet.ibm.com> - 2016-04-14 10:50 +0200
  Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to  pv_wait() Pan Xinhui <xinhui@linux.vnet.ibm.com> - 2016-04-14 11:40 +0200
    Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to  pv_wait() Pan Xinhui <xinhui@linux.vnet.ibm.com> - 2016-04-14 16:40 +0200
      Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to  pv_wait() Waiman Long <waiman.long@hpe.com> - 2016-04-14 20:50 +0200

csiph-web