From: Peter Zijlstra <peterz@infradead.org>
To: Davidlohr Bueso <davidlohr@hp.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
Thomas Gleixner <tglx@linutronix.de>,
Darren Hart <dvhart@linux.intel.com>,
Andi Kleen <andi@firstfloor.org>,
Waiman Long <Waiman.Long@hp.com>, Ingo Molnar <mingo@kernel.org>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linux API <linux-api@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
Jason Low <jason.low2@hp.com>,
Scott J Norton <scott.norton@hp.com>
Subject: Re: [RFC PATCH 0/5] futex: introduce an optimistic spinning futex
Date: Tue, 22 Jul 2014 09:35:25 +0200 [thread overview]
Message-ID: <20140722073525.GU3935@laptop> (raw)
In-Reply-To: <1405989175.25048.5.camel@buesod1.americas.hpqcorp.net>
On Mon, Jul 21, 2014 at 05:32:55PM -0700, Davidlohr Bueso wrote:
> On Mon, 2014-07-21 at 14:31 -0700, Andy Lutomirski wrote:
> > On Mon, Jul 21, 2014 at 2:27 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> > > All this is predicated on the fact that syscalls are 'expensive'.
> > > Weren't syscalls only 100s of cycles? All this bitmap mucking is far
> > > more expensive due to cacheline misses, which due to the size of the
> > > things is almost guaranteed.
> >
> > 120 - 300 cycles for me, unless tracing happens, and I'm working on
> > reducing the incidence of tracing.
>
> fwiw here's what lmbench's lat_ctx says on my system . For 'accuracy', I
> kept the runs short.
>
> http://www.stgolabs.net/lat_ctx.png
Create a syscall without 'work body', so say something like the below.
Context switches do quite a lot of work (unfortunately).
diff --git a/arch/x86/syscalls/syscall_64.tbl b/arch/x86/syscalls/syscall_64.tbl
index ec255a1646d2..daf27ec10e29 100644
--- a/arch/x86/syscalls/syscall_64.tbl
+++ b/arch/x86/syscalls/syscall_64.tbl
@@ -323,6 +323,7 @@
314 common sched_setattr sys_sched_setattr
315 common sched_getattr sys_sched_getattr
316 common renameat2 sys_renameat2
+317 common nop sys_nop
#
# x32-specific system call numbers start at 512 to avoid cache impact
diff --git a/kernel/sys.c b/kernel/sys.c
index 66a751ebf9d9..1b86614bb551 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -2108,6 +2108,11 @@ SYSCALL_DEFINE1(sysinfo, struct sysinfo __user *, info)
return 0;
}
+SYSCALL_DEFINE0(nop)
+{
+ return 0;
+}
+
#ifdef CONFIG_COMPAT
struct compat_sysinfo {
s32 uptime;
next prev parent reply other threads:[~2014-07-22 7:35 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-21 15:24 [RFC PATCH 0/5] futex: introduce an optimistic spinning futex Waiman Long
2014-07-21 15:24 ` [RFC PATCH 1/5] futex: add new exclusive lock & unlock command codes Waiman Long
2014-07-21 16:42 ` Thomas Gleixner
2014-07-22 18:22 ` Waiman Long
[not found] ` <53CEABD7.3030509-VXdhtT5mjnY@public.gmane.org>
2014-07-22 21:00 ` Thomas Gleixner
[not found] ` <1405956271-34339-1-git-send-email-Waiman.Long-VXdhtT5mjnY@public.gmane.org>
2014-07-21 15:24 ` [RFC PATCH 2/5] futex: add optimistic spinning to FUTEX_SPIN_LOCK Waiman Long
[not found] ` <1405956271-34339-3-git-send-email-Waiman.Long-VXdhtT5mjnY@public.gmane.org>
2014-07-21 17:15 ` Davidlohr Bueso
[not found] ` <1405962929.11927.19.camel-5JQ4ckphU/8SZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
2014-07-22 18:46 ` Waiman Long
2014-07-21 20:17 ` Jason Low
2014-07-22 19:34 ` Waiman Long
2014-07-21 15:24 ` [RFC PATCH 3/5] spinning futex: move a wakened task to spinning Waiman Long
2014-07-21 15:24 ` [RFC PATCH 4/5] spinning futex: put waiting tasks in a sorted rbtree Waiman Long
2014-07-21 15:24 ` [RFC PATCH 5/5] futex, doc: add a document on how to use the spinning futexes Waiman Long
2014-07-21 15:45 ` Randy Dunlap
2014-07-22 3:19 ` Waiman Long
2014-07-21 16:42 ` [RFC PATCH 0/5] futex: introduce an optimistic spinning futex Andi Kleen
2014-07-21 16:45 ` Andi Kleen
[not found] ` <871tte3bjw.fsf-KWJ+5VKanrL29G5dvP0v1laTQe2KTcn/@public.gmane.org>
2014-07-21 17:20 ` Darren Hart
[not found] ` <CFF29A00.9D44A%dvhart@linux.intel.com>
[not found] ` <CFF29A00.9D44A%dvhart-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-07-21 17:41 ` Darren Hart
[not found] ` <CFF29E4A.9D44E%dvhart-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-07-21 20:16 ` Thomas Gleixner
2014-07-21 21:27 ` Peter Zijlstra
2014-07-21 21:31 ` Andy Lutomirski
2014-07-21 21:47 ` Thomas Gleixner
2014-07-21 22:41 ` Darren Hart
2014-07-22 1:01 ` Thomas Gleixner
2014-07-22 1:34 ` Steven Rostedt
2014-07-22 2:31 ` Mike Galbraith
2014-07-22 3:06 ` Davidlohr Bueso
[not found] ` <20140721213457.46623e2f-f9ZlEuEWxVcJvu8Pb33WZ0EMvNT87kid@public.gmane.org>
2014-07-22 7:47 ` Peter Zijlstra
2014-07-22 8:39 ` Thomas Gleixner
2014-07-22 8:48 ` Peter Zijlstra
2014-07-22 9:59 ` Thomas Gleixner
2014-07-22 20:25 ` Waiman Long
2014-07-22 20:52 ` Thomas Gleixner
2014-07-22 20:21 ` Waiman Long
2014-07-22 21:03 ` Thomas Gleixner
2014-07-22 0:32 ` Davidlohr Bueso
2014-07-22 7:35 ` Peter Zijlstra [this message]
2014-07-21 21:43 ` Thomas Gleixner
2014-07-21 18:24 ` Thomas Gleixner
2014-07-22 18:35 ` Waiman Long
2014-07-22 18:28 ` Waiman Long
[not found] ` <8761iq3bp3.fsf-KWJ+5VKanrL29G5dvP0v1laTQe2KTcn/@public.gmane.org>
2014-07-23 4:55 ` Mike Galbraith
2014-07-23 6:57 ` Peter Zijlstra
2014-07-23 7:25 ` Mike Galbraith
2014-07-23 7:35 ` Peter Zijlstra
2014-07-23 7:39 ` Mike Galbraith
2014-07-23 7:52 ` Peter Zijlstra
2014-07-21 21:18 ` Ingo Molnar
2014-07-21 21:41 ` Thomas Gleixner
[not found] ` <20140721211801.GA12149-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-07-22 19:36 ` 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=20140722073525.GU3935@laptop \
--to=peterz@infradead.org \
--cc=Waiman.Long@hp.com \
--cc=andi@firstfloor.org \
--cc=davidlohr@hp.com \
--cc=dvhart@linux.intel.com \
--cc=heiko.carstens@de.ibm.com \
--cc=jason.low2@hp.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=scott.norton@hp.com \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).