From: Borislav Petkov <bp@suse.de>
To: Andy Lutomirski <luto@amacapital.net>
Cc: "Thomas Gleixner" <tglx@linutronix.de>,
"John Stultz" <john.stultz@linaro.org>,
"Aaron Lu" <aaron.lu@intel.com>, "X86 ML" <x86@kernel.org>,
"Tony Li" <tony.li@amd.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Suravee Suthikulanit" <suravee.suthikulpanit@amd.com>,
"Frédéric Weisbecker" <fweisbec@gmail.com>,
"Fengguang Wu" <fengguang.wu@intel.com>,
"Len Brown" <lenb@kernel.org>, "Ken Xue" <ken.xue@amd.com>,
"Huang Rui" <ray.huang@amd.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Peter Zijlstra" <peterz@infradead.org>
Subject: Re: [PATCH v2 3/4] x86, mwaitt: introduce mwaix delay with a configurable timer
Date: Sat, 13 Jun 2015 10:48:40 +0200 [thread overview]
Message-ID: <20150613084840.GA3796@pd.tnic> (raw)
In-Reply-To: <CALCETrXueKg7tAqbTXXM2Hs8M+TBRf3XoSpGrHzyH4ywBbRUag@mail.gmail.com>
On Fri, Jun 12, 2015 at 04:15:23PM -0700, Andy Lutomirski wrote:
> > How about this:
> >
> > /*
> > * This should be a memory location in a cache line which is
> > * unlikely to be touched by other processors. The actual
> > * content is immaterial as it is not actually modified in any way.
> > */
> > mwait_ptr = ¤t_thread_info()->flags;
> >
> > and then
> >
> > __monitor(mwait_ptr, 0, 0);
> >
> > We already do this in mwait_play_dead().
> >
> > However, am I even correct in assuming that ->flags won't really be
> > touched as we're doing delay() and nothing pokes into current anyway?
>
> We poke flags remotely, but not frequently enough for this to be a
> problem. However, I don't know that touching current in udelay is
> okay.
>
> How about some read-mostly percpu variable, such as cpu_tss?
Yeah, those look much safer since they're static and are
____cacheline_aligned_in_smp, which is exactly what we want.
I guess we can do
__monitorx(this_cpu_ptr(&cpu_tss), 0, 0);
with a nice comment ontop why we're doing it.
asm looks ok too:
movq $cpu_tss, %rax #, tcp_ptr__
add %gs:this_cpu_off(%rip), %rax # this_cpu_off, tcp_ptr__
xorl %edx, %edx # tmp248
movq %rdx, %rcx # tmp248, tmp248
#APP
# 22 "./arch/x86/include/asm/mwait.h" 1
.byte 0x0f, 0x01, 0xc8;
# 0 "" 2
#NO_APP
Thanks.
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
next prev parent reply other threads:[~2015-06-13 8:48 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 3:13 [PATCH v2 0/4] x86, mwaitt: introduce AMD mwaitt support Huang Rui
2015-06-09 3:13 ` [PATCH v2 1/4] x86, mwaitt: add monitorx and mwaitx instruction Huang Rui
2015-06-09 8:23 ` Peter Zijlstra
2015-06-09 9:48 ` Huang Rui
2015-06-09 10:05 ` Borislav Petkov
2015-06-09 16:44 ` Andy Lutomirski
2015-06-09 17:06 ` Borislav Petkov
2015-06-10 2:40 ` Huang Rui
2015-06-09 3:13 ` [PATCH v2 2/4] x86, mwaitt: make delay method configurable Huang Rui
2015-06-09 9:05 ` Borislav Petkov
2015-06-09 9:31 ` Peter Zijlstra
2015-06-09 10:03 ` Huang Rui
2015-06-09 10:08 ` Peter Zijlstra
2015-06-09 10:15 ` Huang Rui
2015-06-09 10:08 ` Borislav Petkov
2015-06-09 3:13 ` [PATCH v2 3/4] x86, mwaitt: introduce mwaix delay with a configurable timer Huang Rui
2015-06-09 8:31 ` Peter Zijlstra
2015-06-09 10:10 ` Huang Rui
2015-06-09 9:29 ` Peter Zijlstra
2015-06-09 10:59 ` Huang Rui
2015-06-09 16:46 ` Andy Lutomirski
2015-06-09 17:13 ` Peter Zijlstra
2015-06-09 17:55 ` Andy Lutomirski
2015-06-09 18:43 ` Borislav Petkov
2015-06-09 18:55 ` Andy Lutomirski
2015-06-12 8:42 ` Borislav Petkov
2015-06-12 23:15 ` Andy Lutomirski
2015-06-13 8:48 ` Borislav Petkov [this message]
2015-06-09 3:13 ` [PATCH v2 4/4] x86, mwaitt: add documents of delay option Huang Rui
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=20150613084840.GA3796@pd.tnic \
--to=bp@suse.de \
--cc=aaron.lu@intel.com \
--cc=fengguang.wu@intel.com \
--cc=fweisbec@gmail.com \
--cc=john.stultz@linaro.org \
--cc=ken.xue@amd.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=peterz@infradead.org \
--cc=ray.huang@amd.com \
--cc=rjw@rjwysocki.net \
--cc=suravee.suthikulpanit@amd.com \
--cc=tglx@linutronix.de \
--cc=tony.li@amd.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.