All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Kees Cook <keescook@chromium.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	the arch/x86 maintainers <x86@kernel.org>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@suse.de>,
	Mathias Krause <minipli@googlemail.com>, Jan Kara <jack@suse.cz>,
	Vitaly Wool <vitalywool@gmail.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Dmitry Vyukov <dvyukov@google.com>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	ppc-dev <linuxppc-dev@lists.ozlabs.org>,
	sparclinux@vger.kernel.org,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	"kernel-hardening@lists.openwall.com" 
	<kernel-hardening@lists.openwall.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Fri, 8 Jul 2016 20:23:44 +0200	[thread overview]
Message-ID: <20160708182344.GC4429@gmail.com> (raw)
In-Reply-To: <CA+55aFzv4kQitzhWgxRAi5XXM30f70d4dbTGkr7t=fZSh4r3Ow@mail.gmail.com>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 8, 2016 at 1:46 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Could you please try to find some syscall workload that does many small user
> > copies and thus excercises this code path aggressively?
> 
> Any stat()-heavy path will hit cp_new_stat() very heavily. Think the
> usual kind of "traverse the whole tree looking for something". "git
> diff" will do it, just checking that everything is up-to-date.
> 
> That said, other things tend to dominate.

So I think a cached 'find /usr >/dev/null' might be a good one as well:

 triton:~/tip> strace -c find /usr >/dev/null
 % time     seconds  usecs/call     calls    errors syscall
 ------ ----------- ----------- --------- --------- ----------------
  47.09    0.006518           0    254697           newfstatat
  26.20    0.003627           0    254795           getdents
  14.45    0.002000           0   1147411           fcntl
   7.33    0.001014           0    509811           close
   3.28    0.000454           0    128220         1 openat
   1.52    0.000210           0    128230           fstat
   0.27    0.000016           0     12810           write
   0.00    0.000000           0        10           read

 triton:~/tip> perf stat --repeat 3 -e cycles:u,cycles:k,cycles find /usr >/dev/null

 Performance counter stats for 'find /usr' (3 runs):

     1,594,437,143      cycles:u                                                      ( +-  2.76% )
     2,570,544,009      cycles:k                                                      ( +-  2.50% )
     4,164,981,152      cycles                                                        ( +-  2.59% )

       0.929883686 seconds time elapsed                                          ( +-  2.57% )

... and it's dominated by kernel overhead, with a fair amount of memcpy overhead 
as well:

   1.22%  find     [kernel.kallsyms]   [k] copy_user_enhanced_fast_string                                                                                                            

But maybe there are simple shell commands that are even more user-memcpy intense? 

Thanks,

	Ingo

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Kees Cook <keescook@chromium.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	the arch/x86 maintainers <x86@kernel.org>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andy Lutomirski <luto@kernel.org>,
	Borislav
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Fri, 8 Jul 2016 20:23:44 +0200	[thread overview]
Message-ID: <20160708182344.GC4429@gmail.com> (raw)
In-Reply-To: <CA+55aFzv4kQitzhWgxRAi5XXM30f70d4dbTGkr7t=fZSh4r3Ow@mail.gmail.com>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 8, 2016 at 1:46 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Could you please try to find some syscall workload that does many small user
> > copies and thus excercises this code path aggressively?
> 
> Any stat()-heavy path will hit cp_new_stat() very heavily. Think the
> usual kind of "traverse the whole tree looking for something". "git
> diff" will do it, just checking that everything is up-to-date.
> 
> That said, other things tend to dominate.

So I think a cached 'find /usr >/dev/null' might be a good one as well:

 triton:~/tip> strace -c find /usr >/dev/null
 % time     seconds  usecs/call     calls    errors syscall
 ------ ----------- ----------- --------- --------- ----------------
  47.09    0.006518           0    254697           newfstatat
  26.20    0.003627           0    254795           getdents
  14.45    0.002000           0   1147411           fcntl
   7.33    0.001014           0    509811           close
   3.28    0.000454           0    128220         1 openat
   1.52    0.000210           0    128230           fstat
   0.27    0.000016           0     12810           write
   0.00    0.000000           0        10           read

 triton:~/tip> perf stat --repeat 3 -e cycles:u,cycles:k,cycles find /usr >/dev/null

 Performance counter stats for 'find /usr' (3 runs):

     1,594,437,143      cycles:u                                                      ( +-  2.76% )
     2,570,544,009      cycles:k                                                      ( +-  2.50% )
     4,164,981,152      cycles                                                        ( +-  2.59% )

       0.929883686 seconds time elapsed                                          ( +-  2.57% )

... and it's dominated by kernel overhead, with a fair amount of memcpy overhead 
as well:

   1.22%  find     [kernel.kallsyms]   [k] copy_user_enhanced_fast_string                                                                                                            

But maybe there are simple shell commands that are even more user-memcpy intense? 

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Kees Cook <keescook@chromium.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	the arch/x86 maintainers <x86@kernel.org>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@suse.de>,
	Mathias Krause <minipli@googlemail.com>, Jan Kara <jack@suse.cz>,
	Vitaly Wool <vitalywool@gmail.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Dmitry Vyukov <dvyukov@google.com>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	ppc-dev <linuxppc-dev@lists.ozlabs.org>,
	sparclinux@vger.kernel.org,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Fri, 08 Jul 2016 18:23:44 +0000	[thread overview]
Message-ID: <20160708182344.GC4429@gmail.com> (raw)
In-Reply-To: <CA+55aFzv4kQitzhWgxRAi5XXM30f70d4dbTGkr7t=fZSh4r3Ow@mail.gmail.com>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 8, 2016 at 1:46 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Could you please try to find some syscall workload that does many small user
> > copies and thus excercises this code path aggressively?
> 
> Any stat()-heavy path will hit cp_new_stat() very heavily. Think the
> usual kind of "traverse the whole tree looking for something". "git
> diff" will do it, just checking that everything is up-to-date.
> 
> That said, other things tend to dominate.

So I think a cached 'find /usr >/dev/null' might be a good one as well:

 triton:~/tip> strace -c find /usr >/dev/null
 % time     seconds  usecs/call     calls    errors syscall
 ------ ----------- ----------- --------- --------- ----------------
  47.09    0.006518           0    254697           newfstatat
  26.20    0.003627           0    254795           getdents
  14.45    0.002000           0   1147411           fcntl
   7.33    0.001014           0    509811           close
   3.28    0.000454           0    128220         1 openat
   1.52    0.000210           0    128230           fstat
   0.27    0.000016           0     12810           write
   0.00    0.000000           0        10           read

 triton:~/tip> perf stat --repeat 3 -e cycles:u,cycles:k,cycles find /usr >/dev/null

 Performance counter stats for 'find /usr' (3 runs):

     1,594,437,143      cycles:u                                                      ( +-  2.76% )
     2,570,544,009      cycles:k                                                      ( +-  2.50% )
     4,164,981,152      cycles                                                        ( +-  2.59% )

       0.929883686 seconds time elapsed                                          ( +-  2.57% )

... and it's dominated by kernel overhead, with a fair amount of memcpy overhead 
as well:

   1.22%  find     [kernel.kallsyms]   [k] copy_user_enhanced_fast_string                                                                                                            

But maybe there are simple shell commands that are even more user-memcpy intense? 

Thanks,

	Ingo

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Kees Cook <keescook@chromium.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	the arch/x86 maintainers <x86@kernel.org>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@suse.de>,
	Mathias Krause <minipli@googlemail.com>, Jan Kara <jack@suse.cz>,
	Vitaly Wool <vitalywool@gmail.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Dmitry Vyukov <dvyukov@google.com>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	ppc-dev <linuxppc-dev@lists.ozlabs.org>,
	sparclinux@vger.kernel.org,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Fri, 8 Jul 2016 20:23:44 +0200	[thread overview]
Message-ID: <20160708182344.GC4429@gmail.com> (raw)
In-Reply-To: <CA+55aFzv4kQitzhWgxRAi5XXM30f70d4dbTGkr7t=fZSh4r3Ow@mail.gmail.com>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 8, 2016 at 1:46 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Could you please try to find some syscall workload that does many small user
> > copies and thus excercises this code path aggressively?
> 
> Any stat()-heavy path will hit cp_new_stat() very heavily. Think the
> usual kind of "traverse the whole tree looking for something". "git
> diff" will do it, just checking that everything is up-to-date.
> 
> That said, other things tend to dominate.

So I think a cached 'find /usr >/dev/null' might be a good one as well:

 triton:~/tip> strace -c find /usr >/dev/null
 % time     seconds  usecs/call     calls    errors syscall
 ------ ----------- ----------- --------- --------- ----------------
  47.09    0.006518           0    254697           newfstatat
  26.20    0.003627           0    254795           getdents
  14.45    0.002000           0   1147411           fcntl
   7.33    0.001014           0    509811           close
   3.28    0.000454           0    128220         1 openat
   1.52    0.000210           0    128230           fstat
   0.27    0.000016           0     12810           write
   0.00    0.000000           0        10           read

 triton:~/tip> perf stat --repeat 3 -e cycles:u,cycles:k,cycles find /usr >/dev/null

 Performance counter stats for 'find /usr' (3 runs):

     1,594,437,143      cycles:u                                                      ( +-  2.76% )
     2,570,544,009      cycles:k                                                      ( +-  2.50% )
     4,164,981,152      cycles                                                        ( +-  2.59% )

       0.929883686 seconds time elapsed                                          ( +-  2.57% )

... and it's dominated by kernel overhead, with a fair amount of memcpy overhead 
as well:

   1.22%  find     [kernel.kallsyms]   [k] copy_user_enhanced_fast_string                                                                                                            

But maybe there are simple shell commands that are even more user-memcpy intense? 

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: mingo@kernel.org (Ingo Molnar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] mm: Hardened usercopy
Date: Fri, 8 Jul 2016 20:23:44 +0200	[thread overview]
Message-ID: <20160708182344.GC4429@gmail.com> (raw)
In-Reply-To: <CA+55aFzv4kQitzhWgxRAi5XXM30f70d4dbTGkr7t=fZSh4r3Ow@mail.gmail.com>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 8, 2016 at 1:46 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Could you please try to find some syscall workload that does many small user
> > copies and thus excercises this code path aggressively?
> 
> Any stat()-heavy path will hit cp_new_stat() very heavily. Think the
> usual kind of "traverse the whole tree looking for something". "git
> diff" will do it, just checking that everything is up-to-date.
> 
> That said, other things tend to dominate.

So I think a cached 'find /usr >/dev/null' might be a good one as well:

 triton:~/tip> strace -c find /usr >/dev/null
 % time     seconds  usecs/call     calls    errors syscall
 ------ ----------- ----------- --------- --------- ----------------
  47.09    0.006518           0    254697           newfstatat
  26.20    0.003627           0    254795           getdents
  14.45    0.002000           0   1147411           fcntl
   7.33    0.001014           0    509811           close
   3.28    0.000454           0    128220         1 openat
   1.52    0.000210           0    128230           fstat
   0.27    0.000016           0     12810           write
   0.00    0.000000           0        10           read

 triton:~/tip> perf stat --repeat 3 -e cycles:u,cycles:k,cycles find /usr >/dev/null

 Performance counter stats for 'find /usr' (3 runs):

     1,594,437,143      cycles:u                                                      ( +-  2.76% )
     2,570,544,009      cycles:k                                                      ( +-  2.50% )
     4,164,981,152      cycles                                                        ( +-  2.59% )

       0.929883686 seconds time elapsed                                          ( +-  2.57% )

... and it's dominated by kernel overhead, with a fair amount of memcpy overhead 
as well:

   1.22%  find     [kernel.kallsyms]   [k] copy_user_enhanced_fast_string                                                                                                            

But maybe there are simple shell commands that are even more user-memcpy intense? 

Thanks,

	Ingo

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Kees Cook <keescook@chromium.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	the arch/x86 maintainers <x86@kernel.org>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@suse.de>,
	Mathias Krause <minipli@googlemail.com>, Jan Kara <jack@suse.cz>,
	Vitaly Wool <vitalywool@gmail.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Dmitry Vyukov <dvyukov@google.com>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	ppc-dev <linuxppc-dev@lists.ozlabs.org>,
	sparclinux@vger.kernel.org,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: [kernel-hardening] Re: [PATCH 0/9] mm: Hardened usercopy
Date: Fri, 8 Jul 2016 20:23:44 +0200	[thread overview]
Message-ID: <20160708182344.GC4429@gmail.com> (raw)
In-Reply-To: <CA+55aFzv4kQitzhWgxRAi5XXM30f70d4dbTGkr7t=fZSh4r3Ow@mail.gmail.com>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Jul 8, 2016 at 1:46 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Could you please try to find some syscall workload that does many small user
> > copies and thus excercises this code path aggressively?
> 
> Any stat()-heavy path will hit cp_new_stat() very heavily. Think the
> usual kind of "traverse the whole tree looking for something". "git
> diff" will do it, just checking that everything is up-to-date.
> 
> That said, other things tend to dominate.

So I think a cached 'find /usr >/dev/null' might be a good one as well:

 triton:~/tip> strace -c find /usr >/dev/null
 % time     seconds  usecs/call     calls    errors syscall
 ------ ----------- ----------- --------- --------- ----------------
  47.09    0.006518           0    254697           newfstatat
  26.20    0.003627           0    254795           getdents
  14.45    0.002000           0   1147411           fcntl
   7.33    0.001014           0    509811           close
   3.28    0.000454           0    128220         1 openat
   1.52    0.000210           0    128230           fstat
   0.27    0.000016           0     12810           write
   0.00    0.000000           0        10           read

 triton:~/tip> perf stat --repeat 3 -e cycles:u,cycles:k,cycles find /usr >/dev/null

 Performance counter stats for 'find /usr' (3 runs):

     1,594,437,143      cycles:u                                                      ( +-  2.76% )
     2,570,544,009      cycles:k                                                      ( +-  2.50% )
     4,164,981,152      cycles                                                        ( +-  2.59% )

       0.929883686 seconds time elapsed                                          ( +-  2.57% )

... and it's dominated by kernel overhead, with a fair amount of memcpy overhead 
as well:

   1.22%  find     [kernel.kallsyms]   [k] copy_user_enhanced_fast_string                                                                                                            

But maybe there are simple shell commands that are even more user-memcpy intense? 

Thanks,

	Ingo

  reply	other threads:[~2016-07-08 18:24 UTC|newest]

Thread overview: 366+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-06 22:25 [PATCH 0/9] mm: Hardened usercopy Kees Cook
2016-07-06 22:25 ` [kernel-hardening] " Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` [PATCH 1/9] " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-07  5:37   ` Baruch Siach
2016-07-07  5:37     ` [kernel-hardening] " Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07 17:25     ` Kees Cook
2016-07-07 17:25       ` [kernel-hardening] " Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 18:35       ` Baruch Siach
2016-07-07 18:35         ` [kernel-hardening] " Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07  7:42   ` Thomas Gleixner
2016-07-07  7:42     ` [kernel-hardening] " Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07 17:29     ` Kees Cook
2016-07-07 17:29       ` [kernel-hardening] " Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 19:34       ` Thomas Gleixner
2016-07-07 19:34         ` [kernel-hardening] " Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07  8:01   ` Arnd Bergmann
2016-07-07  8:01     ` [kernel-hardening] " Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07 17:37     ` Kees Cook
2016-07-07 17:37       ` [kernel-hardening] " Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34         ` [kernel-hardening] " Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34         ` Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  9:22       ` Arnd Bergmann
2016-07-08  9:22         ` [kernel-hardening] " Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-07 16:19   ` Rik van Riel
2016-07-07 16:19     ` [kernel-hardening] " Rik van Riel
2016-07-07 16:19     ` Rik van Riel
2016-07-07 16:19     ` Rik van Riel
2016-07-07 16:19     ` Rik van Riel
2016-07-07 16:35   ` Rik van Riel
2016-07-07 16:35     ` [kernel-hardening] " Rik van Riel
2016-07-07 16:35     ` Rik van Riel
2016-07-07 16:35     ` Rik van Riel
2016-07-07 16:35     ` Rik van Riel
2016-07-07 17:41     ` Kees Cook
2016-07-07 17:41       ` [kernel-hardening] " Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-06 22:25 ` [PATCH 2/9] x86/uaccess: Enable hardened usercopy Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 3/9] ARM: uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 4/9] arm64/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-07 10:07   ` Mark Rutland
2016-07-07 10:07     ` [kernel-hardening] " Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 17:19     ` Kees Cook
2016-07-07 17:19       ` [kernel-hardening] " Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-06 22:25 ` [PATCH 5/9] ia64/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 6/9] powerpc/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 7/9] sparc/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 8/9] mm: SLAB hardened usercopy support Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 9/9] mm: SLUB " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35     ` [kernel-hardening] " Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35     ` Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
     [not found]   ` <577ddc18.d351190a.1fa54.ffffbe79SMTPIN_ADDED_BROKEN@mx.google.com>
2016-07-07 18:56     ` [kernel-hardening] " Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 13:45         ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 16:07           ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:20             ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 17:41               ` [kernel-hardening] " Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 20:48                 ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` [kernel-hardening] " Michael Ellerman
2016-07-09  5:58                     ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                     ` Michael Ellerman
2016-07-09  5:58                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                       ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                       ` Michael Ellerman
2016-07-09  6:07                       ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
     [not found]                   ` <57809299.84b3370a.5390c.ffff9e58SMTPIN_ADDED_BROKEN@mx.google.com>
2016-07-09  6:17                     ` [kernel-hardening] " Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks at vt.edu
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09 17:07                       ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-11  6:08                   ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` [kernel-hardening] " Michael Ellerman
2016-07-08 10:19         ` Michael Ellerman
2016-07-07  7:30 ` [PATCH 0/9] mm: Hardened usercopy Christian Borntraeger
2016-07-07  7:30   ` [kernel-hardening] " Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07 17:27   ` Kees Cook
2016-07-07 17:27     ` [kernel-hardening] " Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-08  8:46 ` Ingo Molnar
2016-07-08  8:46   ` [kernel-hardening] " Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08 16:19   ` Linus Torvalds
2016-07-08 16:19     ` [kernel-hardening] " Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 18:23     ` Ingo Molnar [this message]
2016-07-08 18:23       ` [kernel-hardening] " Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-09  2:22 ` Laura Abbott
2016-07-09  2:22   ` [kernel-hardening] " Laura Abbott
2016-07-09  2:22   ` Laura Abbott
2016-07-09  2:22   ` Laura Abbott
2016-07-09  2:44   ` Rik van Riel
2016-07-09  2:44     ` [kernel-hardening] " Rik van Riel
2016-07-09  2:44     ` Rik van Riel
2016-07-09  2:44     ` Rik van Riel
2016-07-09  2:44     ` Rik van Riel
2016-07-09  7:55     ` Ingo Molnar
2016-07-09  7:55       ` [kernel-hardening] " Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  8:25   ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` [kernel-hardening] " Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09 12:58     ` Laura Abbott
2016-07-09 12:58       ` [kernel-hardening] " Laura Abbott
2016-07-09 12:58       ` Laura Abbott
2016-07-09 17:03     ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` [kernel-hardening] " Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:01   ` Kees Cook
2016-07-09 17:01     ` [kernel-hardening] " Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 21:27 ` Andy Lutomirski
2016-07-09 21:27   ` [kernel-hardening] " Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 23:16   ` PaX Team
2016-07-09 23:16     ` [kernel-hardening] " PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-10  9:16     ` Ingo Molnar
2016-07-10  9:16       ` [kernel-hardening] " Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10 12:03       ` PaX Team
2016-07-10 12:03         ` [kernel-hardening] " PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:38         ` Andy Lutomirski
2016-07-10 12:38           ` [kernel-hardening] " Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-11 18:40           ` Kees Cook
2016-07-11 18:40             ` [kernel-hardening] " Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:34         ` Kees Cook
2016-07-11 18:34           ` [kernel-hardening] " Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-12 18:26 ` [kernel-hardening] " Valdis.Kletnieks
2016-07-12 18:44   ` Kees Cook

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=20160708182344.GC4429@gmail.com \
    --to=mingo@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=benh@kernel.crashing.org \
    --cc=bp@suse.de \
    --cc=casey@schaufler-ca.com \
    --cc=catalin.marinas@arm.com \
    --cc=cl@linux.com \
    --cc=davem@davemloft.net \
    --cc=dvyukov@google.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=jack@suse.cz \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=labbott@fedoraproject.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@kernel.org \
    --cc=minipli@googlemail.com \
    --cc=mpe@ellerman.id.au \
    --cc=pageexec@freemail.hu \
    --cc=penberg@kernel.org \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=spender@grsecurity.net \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=vitalywool@gmail.com \
    --cc=will.deacon@arm.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.