From: Waiman Long <waiman.long@hp.com>
To: Sasha Levin <sasha.levin@oracle.com>
Cc: hpa@zytor.com, doug.hatch@hp.com, oleg@redhat.com,
raghavendra.kt@linux.vnet.ibm.com, peterz@infradead.org,
bp@alien8.de, linux-kernel@vger.kernel.org, riel@redhat.com,
daniel@numascale.com, scott.norton@hp.com,
boris.ostrovsky@oracle.com, akpm@linux-foundation.org,
tglx@linutronix.de, david.vrabel@citrix.com,
paolo.bonzini@gmail.com, paulmck@linux.vnet.ibm.com,
torvalds@linux-foundation.org, konrad.wilk@oracle.com,
mingo@kernel.org, linux-tip-commits@vger.kernel.org
Subject: Re: [tip:locking/core] locking/pvqspinlock, x86: Implement the paravirt qspinlock call patching
Date: Sun, 31 May 2015 14:29:42 -0400 [thread overview]
Message-ID: <556B5316.6010201@hp.com> (raw)
In-Reply-To: <556937E3.8020601@oracle.com>
On 05/30/2015 12:09 AM, Sasha Levin wrote:
> On 05/08/2015 09:27 AM, tip-bot for Peter Zijlstra (Intel) wrote:
>> Commit-ID: f233f7f1581e78fd9b4023f2e7d8c1ed89020cc9
>> Gitweb: http://git.kernel.org/tip/f233f7f1581e78fd9b4023f2e7d8c1ed89020cc9
>> Author: Peter Zijlstra (Intel)<peterz@infradead.org>
>> AuthorDate: Fri, 24 Apr 2015 14:56:38 -0400
>> Committer: Ingo Molnar<mingo@kernel.org>
>> CommitDate: Fri, 8 May 2015 12:37:09 +0200
>>
>> locking/pvqspinlock, x86: Implement the paravirt qspinlock call patching
>>
>> We use the regular paravirt call patching to switch between:
>>
>> native_queued_spin_lock_slowpath() __pv_queued_spin_lock_slowpath()
>> native_queued_spin_unlock() __pv_queued_spin_unlock()
>>
>> We use a callee saved call for the unlock function which reduces the
>> i-cache footprint and allows 'inlining' of SPIN_UNLOCK functions
>> again.
>>
>> We further optimize the unlock path by patching the direct call with a
>> "movb $0,%arg1" if we are indeed using the native unlock code. This
>> makes the unlock code almost as fast as the !PARAVIRT case.
>>
>> This significantly lowers the overhead of having
>> CONFIG_PARAVIRT_SPINLOCKS enabled, even for native code.
>>
>> Signed-off-by: Peter Zijlstra (Intel)<peterz@infradead.org>
>> Signed-off-by: Waiman Long<Waiman.Long@hp.com>
>> Signed-off-by: Peter Zijlstra (Intel)<peterz@infradead.org>
>> Cc: Andrew Morton<akpm@linux-foundation.org>
>> Cc: Boris Ostrovsky<boris.ostrovsky@oracle.com>
>> Cc: Borislav Petkov<bp@alien8.de>
>> Cc: Daniel J Blueman<daniel@numascale.com>
>> Cc: David Vrabel<david.vrabel@citrix.com>
>> Cc: Douglas Hatch<doug.hatch@hp.com>
>> Cc: H. Peter Anvin<hpa@zytor.com>
>> Cc: Konrad Rzeszutek Wilk<konrad.wilk@oracle.com>
>> Cc: Linus Torvalds<torvalds@linux-foundation.org>
>> Cc: Oleg Nesterov<oleg@redhat.com>
>> Cc: Paolo Bonzini<paolo.bonzini@gmail.com>
>> Cc: Paul E. McKenney<paulmck@linux.vnet.ibm.com>
>> Cc: Peter Zijlstra<peterz@infradead.org>
>> Cc: Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>
>> Cc: Rik van Riel<riel@redhat.com>
>> Cc: Scott J Norton<scott.norton@hp.com>
>> Cc: Thomas Gleixner<tglx@linutronix.de>
>> Cc: virtualization@lists.linux-foundation.org
>> Cc: xen-devel@lists.xenproject.org
>> Link: http://lkml.kernel.org/r/1429901803-29771-10-git-send-email-Waiman.Long@hp.com
>> Signed-off-by: Ingo Molnar<mingo@kernel.org>
> Hey Peter,
>
> I'm seeing this on the latest -next kernel:
>
> [ 8693.503262] BUG: KASan: out of bounds access in __pv_queued_spin_lock_slowpath+0x84e/0x8c0 at addr ffffffffb9495950
> [ 8693.503271] Read of size 8 by task swapper/9/0
> [ 8693.503289] Address belongs to variable pv_lock_ops+0x10/0x240
I would like to clarify what the message means. pv_locks_ops + 0x10
should be the pv_wait function pointer. Also the structure should be
just 32 bytes in size and so what does the "/0x240" mean?
Cheers,
Longman
next prev parent reply other threads:[~2015-05-31 18:29 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-24 18:56 [PATCH v16 00/14] qspinlock: a 4-byte queue spinlock with PV support Waiman Long
2015-04-24 18:56 ` [PATCH v16 01/14] qspinlock: A simple generic 4-byte queue spinlock Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:25 ` [tip:locking/core] locking/qspinlock: Introduce a simple generic 4-byte queued spinlock tip-bot for Waiman Long
2015-04-24 18:56 ` [PATCH v16 01/14] qspinlock: A simple generic 4-byte queue spinlock Waiman Long
2015-04-24 18:56 ` [PATCH v16 02/14] qspinlock, x86: Enable x86-64 to use " Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:25 ` [tip:locking/core] locking/qspinlock, x86: Enable x86-64 to use queued spinlocks tip-bot for Waiman Long
2015-04-24 18:56 ` [PATCH v16 02/14] qspinlock, x86: Enable x86-64 to use queue spinlock Waiman Long
2015-04-24 18:56 ` [PATCH v16 03/14] qspinlock: Add pending bit Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:26 ` [tip:locking/core] locking/qspinlock: " tip-bot for Peter Zijlstra (Intel)
2015-04-24 18:56 ` [PATCH v16 04/14] qspinlock: Extract out code snippets for the next patch Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:26 ` [tip:locking/core] locking/qspinlock: " tip-bot for Waiman Long
2015-04-24 18:56 ` [PATCH v16 04/14] qspinlock: " Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` [PATCH v16 05/14] qspinlock: Optimize for smaller NR_CPUS Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:26 ` [tip:locking/core] locking/qspinlock: " tip-bot for Peter Zijlstra (Intel)
2015-04-24 18:56 ` [PATCH v16 06/14] qspinlock: Use a simple write to grab the lock Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:27 ` [tip:locking/core] locking/qspinlock: " tip-bot for Waiman Long
2015-04-24 18:56 ` [PATCH v16 06/14] qspinlock: " Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` [PATCH v16 07/14] qspinlock: Revert to test-and-set on hypervisors Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:27 ` [tip:locking/core] locking/qspinlock: " tip-bot for Peter Zijlstra (Intel)
2015-04-24 18:56 ` [PATCH v16 08/14] pvqspinlock: Implement simple paravirt support for the qspinlock Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-04 14:20 ` Peter Zijlstra
2015-05-04 14:20 ` Peter Zijlstra
2015-05-04 14:20 ` Peter Zijlstra
2015-05-04 17:15 ` Waiman Long
2015-05-04 17:15 ` Waiman Long
2015-05-04 17:15 ` Waiman Long
2015-05-08 13:27 ` [tip:locking/core] locking/pvqspinlock: " tip-bot for Waiman Long
2015-04-24 18:56 ` [PATCH v16 08/14] pvqspinlock: " Waiman Long
2015-04-24 18:56 ` [PATCH v16 09/14] pvqspinlock, x86: Implement the paravirt qspinlock call patching Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:27 ` [tip:locking/core] locking/pvqspinlock, " tip-bot for Peter Zijlstra (Intel)
2015-05-30 4:09 ` Sasha Levin
2015-05-31 18:29 ` Waiman Long [this message]
2015-04-24 18:56 ` [PATCH v16 10/14] pvqspinlock, x86: Enable PV qspinlock for KVM Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:28 ` [tip:locking/core] locking/pvqspinlock, " tip-bot for Waiman Long
2015-04-24 18:56 ` [PATCH v16 11/14] pvqspinlock, x86: Enable PV qspinlock for Xen Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-05-08 13:28 ` [tip:locking/core] locking/pvqspinlock, " tip-bot for David Vrabel
2015-04-24 18:56 ` [PATCH v16 12/14] pvqspinlock: Only kick CPU at unlock time Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` [PATCH v16 13/14] pvqspinlock: Improve slowpath performance by avoiding cmpxchg Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-29 18:11 ` Peter Zijlstra
2015-04-29 18:27 ` Linus Torvalds
2015-04-29 18:27 ` Linus Torvalds
2015-04-29 18:27 ` Linus Torvalds
2015-04-30 18:56 ` Waiman Long
2015-04-30 18:56 ` Waiman Long
2015-04-30 18:56 ` Waiman Long
2015-04-30 18:56 ` Waiman Long
2015-04-30 18:56 ` Waiman Long
2015-04-30 18:49 ` Waiman Long
2015-04-30 18:49 ` Waiman Long
2015-04-30 18:49 ` Waiman Long
2015-05-04 14:05 ` Peter Zijlstra
2015-05-04 14:05 ` Peter Zijlstra
2015-05-04 14:05 ` Peter Zijlstra
2015-05-04 17:18 ` Waiman Long
2015-05-04 17:18 ` Waiman Long
2015-05-04 17:18 ` Waiman Long
2015-04-29 18:11 ` Peter Zijlstra
2015-04-29 18:11 ` Peter Zijlstra
2015-04-24 18:56 ` [PATCH v16 14/14] pvqspinlock: Collect slowpath lock statistics Waiman Long
2015-04-24 18:56 ` Waiman Long
2015-04-24 18:56 ` Waiman Long
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=556B5316.6010201@hp.com \
--to=waiman.long@hp.com \
--cc=akpm@linux-foundation.org \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=daniel@numascale.com \
--cc=david.vrabel@citrix.com \
--cc=doug.hatch@hp.com \
--cc=hpa@zytor.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=paolo.bonzini@gmail.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=raghavendra.kt@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=sasha.levin@oracle.com \
--cc=scott.norton@hp.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.