[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170312022923.GQ29622@ZenIV.linux.org.uk>
Date: Sun, 12 Mar 2017 02:29:27 +0000
From: Al Viro <viro@...IV.linux.org.uk>
To: Eric Biggers <ebiggers3@...il.com>
Cc: linux-fsdevel@...r.kernel.org, David Howells <dhowells@...hat.com>,
linux-kernel@...r.kernel.org, Eric Biggers <ebiggers@...gle.com>
Subject: Re: [PATCH v2] statx: optimize copy of struct statx to userspace
On Sat, Mar 11, 2017 at 06:16:55PM -0800, Eric Biggers wrote:
> Hi Al,
>
> On Sun, Mar 12, 2017 at 01:24:15AM +0000, Al Viro wrote:
> > On Sat, Mar 11, 2017 at 01:45:55PM -0800, Eric Biggers wrote:
> > > From: Eric Biggers <ebiggers@...gle.com>
> > >
> > > I found that statx() was significantly slower than stat(). As a
> > > microbenchmark, I compared 10,000,000 invocations of fstat() on a tmpfs
> > > file to the same with statx() passed a NULL path:
> >
> > Umm...
> >
>
> Well, it's a silly benchmark, but stat performance is important, and usually
> things are cached already so most of the time is just overhead --- which this
> measures. And since nothing actually uses statx() yet, you can't do a benchmark
> just by running some command like 'git status' or whatever.
Oh, I agree that multiple __put_user() are wrong; I also agree that bulk copy is
the right approach (when we get the unsafe stuff right, we can revisit that, but
I suspect that on quite a few architectures a bulk copy will still give better
time, no matter what).
> If padding is a concern at all (AFAICS it's not actually an issue now with
> struct statx, but people tend to have different opinions on how careful they
> want to be with padding), then I think we'll just have to start by memsetting
> the whole struct to 0.
My point is simply that it's worth a comment in that code.
Powered by blists - more mailing lists