From: "Dong Feng" <middle.fengdong@gmail.com>
To: "Nick Piggin" <nickpiggin@yahoo.com.au>
Cc: "Christoph Lameter" <clameter@sgi.com>, "Andi Kleen" <ak@suse.de>,
"Arjan van de Ven" <arjan@infradead.org>,
"Paul Mackerras" <paulus@samba.org>,
"David Howells" <dhowells@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: How is Code in do_sys_settimeofday() safe in case of SMP and Nest Kernel Path?
Date: Sun, 1 Oct 2006 20:22:22 +0800 [thread overview]
Message-ID: <a2ebde260610010522y916e77dvdad452c1042205fe@mail.gmail.com> (raw)
In-Reply-To: <451F3A73.80800@yahoo.com.au>
2006/10/1, Nick Piggin <nickpiggin@yahoo.com.au>:
> It is in an unlikely path though. How many apps actually pass in a
> non NULL value for the timezone? Those that don't won't be affected.
> Even for those that do, it doesn't introduce any atomic ops or
> unpredictable branches, or cacheline pressure (because xtime lock is
> already touched by do_gettimeofday). IOW: I'm sure it would be
> unmeasurable.
I agree the above. Normally the unlikely path is not invoked after boot.
>
> OTOH, to be completely correct, it seems like the same xtime_lock
> read section should cover both the calculation of ktv, and that of
> ktz. So if it is going to be fixed at all, it should be done
> properly and looks like it needs to be a bit more intrusive (but
> no more expensive).
>
That means either 1. Move the seq lock from within do_gettimeofday()
to out of do_gettimeofday(), or 2. pass ktz into do_gettimeofday() and
compute it in the preexisting read section in do_gettimeofday().
The first changes the semantic of do_gettimeofday() so it would be
unacceptable since the function is invoked from many places. The
second changes the signature of the function so every caller need to
be changed to passing an extra NULL pointer in order to satisfy the
changed invocation agreement.
I think the race condition is not unacceptable so long as comments is
changed to state the situation clearly. To move everything into the
same read (and write) section (respectively) is a bit bigger work but
it does not introduce performance penalty at run time. Or perhaps we
could tolerate some middle point, that is, as the initial patch, still
protect ktz and ktv in separated section and let the comments state
the not-so-perfect situation clearly.
next prev parent reply other threads:[~2006-10-01 12:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-29 14:33 Dong Feng
2006-09-29 16:05 ` Christoph Lameter
2006-09-29 16:16 ` Dong Feng
2006-09-30 14:37 ` Nick Piggin
2006-09-30 15:03 ` Andi Kleen
2006-09-30 17:13 ` Christoph Lameter
2006-10-02 10:08 ` Samuel Tardieu
2006-10-03 8:03 ` Pavel Machek
2006-10-03 10:03 ` Andi Kleen
2006-09-30 16:09 ` Dong Feng
2006-09-30 17:26 ` Christoph Lameter
2006-10-01 3:48 ` Nick Piggin
2006-10-01 12:22 ` Dong Feng [this message]
2006-10-02 10:12 ` Samuel Tardieu
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=a2ebde260610010522y916e77dvdad452c1042205fe@mail.gmail.com \
--to=middle.fengdong@gmail.com \
--cc=ak@suse.de \
--cc=arjan@infradead.org \
--cc=clameter@sgi.com \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=paulus@samba.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®