All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Fenghua Yu <fenghua.yu@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Ashok Raj <ashok.raj@intel.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Rafael Wysocki <rafael.j.wysocki@intel.com>,
	Tony Luck <tony.luck@intel.com>, Alan Cox <alan@linux.intel.com>,
	Ravi V Shankar <ravi.v.shankar@intel.com>,
	Arjan van de Ven <arjan@infradead.org>,
	linux-kernel <linux-kernel@vger.kernel.org>, x86 <x86@kernel.org>
Subject: Re: [RFC PATCH 04/16] x86/split_lock: Use non locked bit set instruction in set_cpu_cap
Date: Thu, 21 Jun 2018 21:55:40 +0200	[thread overview]
Message-ID: <20180621195540.GC13636@worktop.programming.kicks-ass.net> (raw)
In-Reply-To: <1527435965-202085-5-git-send-email-fenghua.yu@intel.com>

On Sun, May 27, 2018 at 08:45:53AM -0700, Fenghua Yu wrote:
> set_bit() called by set_cpu_cap() is a locked bit set instruction for
> atomic operation.
> 
> Since the c->x86_capability can span two cache lines depending on kernel
> configuration and building evnironment, the locked bit set instruction may
> cause #AC exception when #AC exception for split lock is enabled.

That doesn't make sense. Sure the bitmap may be longer, but depending on
if the argument is an immediate or not we either use a byte instruction
(which can never cross a cacheline boundary) or a 'word' aligned BTS.
And the bitmap really _should_ be 'unsigned long' aligned.

If it is not aligned, fix that too.

/me looks at cpuinfo_x86 and finds x86_capability is in fact a __u32
array.. see that's broken and needs fixing first.

  reply	other threads:[~2018-06-21 19:55 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-27 15:45 [RFC PATCH 00/16] x86/split_lock: Enable #AC exception for split locked accesses Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 01/16] x86/split_lock: Add CONFIG and enumerate #AC exception for split locked access feature Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 02/16] x86/split_lock: Handle #AC exception for split lock in kernel mode Fenghua Yu
2018-06-21 19:46   ` Peter Zijlstra
2018-06-22 10:49   ` Thomas Gleixner
2018-06-22 11:59     ` Thomas Gleixner
2018-06-22 22:41       ` Fenghua Yu
2018-06-22 22:57         ` Thomas Gleixner
2018-06-22 23:03           ` Thomas Gleixner
2018-06-22 23:18       ` Fenghua Yu
2018-06-23  9:08         ` Thomas Gleixner
2018-06-23  4:20     ` Fenghua Yu
2018-06-23  9:17       ` Thomas Gleixner
2018-06-23 15:05         ` Fenghua Yu
2018-06-24  0:55           ` Thomas Gleixner
2018-06-24  1:17             ` Fenghua Yu
2018-06-24  6:43               ` Thomas Gleixner
2018-05-27 15:45 ` [RFC PATCH 03/16] x86/split_lock: Set up #AC exception for split locked accesses on all CPUs Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 04/16] x86/split_lock: Use non locked bit set instruction in set_cpu_cap Fenghua Yu
2018-06-21 19:55   ` Peter Zijlstra [this message]
2018-06-21 20:37     ` Thomas Gleixner
2018-06-27 23:35     ` Fenghua Yu
2018-06-28  7:53       ` Thomas Gleixner
2018-06-28 14:23         ` Fenghua Yu
2018-06-28 14:54           ` Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 05/16] x86/split_lock: Use non atomic set and clear bit instructions in clear_cpufeature() Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 06/16] x86/split_lock: Save #AC setting for split lock in firmware in boot time and restore the setting in reboot Fenghua Yu
2018-06-21 19:58   ` Peter Zijlstra
2018-06-22 15:11     ` Alan Cox
2018-06-26  9:05       ` Peter Zijlstra
2018-06-26  9:40         ` Thomas Gleixner
2018-06-26 11:02         ` Alan Cox
2018-06-26 11:31           ` Peter Zijlstra
2018-05-27 15:45 ` [RFC PATCH 07/16] x86/split_lock: Handle suspend/hibernate and resume Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 08/16] x86/split_lock: Set split lock during EFI runtime service Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 09/16] x86/split_lock: Add CONFIG to control #AC for split lock at boot time Fenghua Yu
2018-05-27 15:45 ` [RFC PATCH 10/16] x86/split_lock: Add a debugfs interface to allow user to enable or disable #AC for split lock during run time Fenghua Yu
2018-05-29 18:43   ` Greg KH
2018-05-27 15:46 ` [RFC PATCH 11/16] x86/split_lock: Add CONFIG to control #AC for split lock from kernel at boot time Fenghua Yu
2018-05-27 15:46 ` [RFC PATCH 12/16] x86/split_lock: Add a debugfs interface to allow user to change how to handle split lock in kernel mode during run time Fenghua Yu
2018-05-27 15:46 ` [RFC PATCH 13/16] x86/split_lock: Add debugfs interface to control user mode behavior Fenghua Yu
2018-05-27 15:46 ` [RFC PATCH 14/16] x86/split_lock: Add debugfs interface to show and control firmware setting for split lock Fenghua Yu
2018-05-27 15:46 ` [RFC PATCH 15/16] x86/split_lock: Add CONFIG and debugfs interface for testing #AC for split lock in kernel mode Fenghua Yu
2018-05-27 15:46 ` [RFC PATCH 16/16] x86/split_lock: Add user space split lock test in selftest Fenghua Yu
2018-05-29 16:39 ` [RFC PATCH 00/16] x86/split_lock: Enable #AC exception for split locked accesses Dave Hansen
2018-05-29 17:25   ` Fenghua Yu
2018-05-29 17:28     ` Dave Hansen
2018-05-29 17:40       ` Fenghua Yu
2018-05-29 16:40 ` Dave Hansen
2018-05-29 17:38   ` Fenghua Yu
2018-06-21 20:06   ` Peter Zijlstra
2018-06-21 19:37 ` Peter Zijlstra
2018-06-21 20:18   ` Fenghua Yu
2018-06-21 20:32     ` Thomas Gleixner
2018-06-21 22:00       ` Fenghua Yu
2018-06-21 22:07         ` Peter Zijlstra
2018-06-21 22:08         ` Peter Zijlstra
2018-06-21 22:18           ` Dave Hansen
2018-06-21 22:42             ` Fenghua Yu
2018-06-22  8:11               ` Peter Zijlstra
2018-06-22  9:30               ` Thomas Gleixner
2018-06-21 22:10         ` Peter Zijlstra
2018-06-21 23:05           ` Fenghua Yu
2018-06-22  8:19             ` Peter Zijlstra
2018-06-21 22:11         ` Peter Zijlstra
2018-06-21 22:43           ` Fenghua Yu
2018-06-21 22:13         ` Peter Zijlstra
2018-06-23 18:47           ` Fenghua Yu
2018-06-22  9:18         ` Thomas Gleixner
2018-06-22  9:22         ` Thomas Gleixner
2018-06-22  9:25         ` Thomas Gleixner
2018-06-22  9:28         ` Thomas Gleixner
2018-06-21 20:36     ` Peter Zijlstra

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=20180621195540.GC13636@worktop.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=alan@linux.intel.com \
    --cc=arjan@infradead.org \
    --cc=ashok.raj@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rafael.j.wysocki@intel.com \
    --cc=ravi.v.shankar@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.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.