From: Frederic Weisbecker <fweisbec@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Borislav Petkov <bp@alien8.de>,
Li Zhong <zhong@linux.vnet.ibm.com>,
Mike Galbraith <efault@gmx.de>, Kevin Hilman <khilman@linaro.org>
Subject: Re: [PATCH 05/18] vtime: Update a few comments
Date: Thu, 18 Jul 2013 23:30:55 +0200 [thread overview]
Message-ID: <20130718213053.GD7398@somewhere> (raw)
In-Reply-To: <1374083871.6458.166.camel@gandalf.local.home>
On Wed, Jul 17, 2013 at 01:57:51PM -0400, Steven Rostedt wrote:
> On Wed, 2013-07-17 at 18:44 +0200, Frederic Weisbecker wrote:
> > Update a stale comment from the old vtime era and document some
> > locking that might be non obvious.
> >
> > Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
> > Cc: Steven Rostedt <rostedt@goodmis.org>
> > Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > Cc: Ingo Molnar <mingo@kernel.org>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Cc: Borislav Petkov <bp@alien8.de>
> > Cc: Li Zhong <zhong@linux.vnet.ibm.com>
> > Cc: Mike Galbraith <efault@gmx.de>
> > Cc: Kevin Hilman <khilman@linaro.org>
> > ---
> > include/linux/context_tracking.h | 8 ++------
> > kernel/sched/cputime.c | 7 +++++++
> > 2 files changed, 9 insertions(+), 6 deletions(-)
> >
> > diff --git a/include/linux/context_tracking.h b/include/linux/context_tracking.h
> > index 5984f25..12045ce 100644
> > --- a/include/linux/context_tracking.h
> > +++ b/include/linux/context_tracking.h
> > @@ -72,8 +72,8 @@ extern void guest_exit(void);
> > static inline void guest_enter(void)
> > {
> > /*
> > - * This is running in ioctl context so we can avoid
> > - * the call to vtime_account() with its unnecessary idle check.
> > + * This is running in ioctl context so its safe
> > + * to assume the pending cputime to flush is stime.
>
> The above is worded funny. What about:
>
> "This is running in ioctl context so its safe to assume that its the
> stime pending cputime to flush"
May be. What I try to express is that we have some tickless
cputime that elapsed since the last snapshot and we need to know the nature
of that cputime in order to account it to the right stats: was it userspace,
system or idle cputime? We are in the kernel serving an ioctl syscall so
we know it's system, hence the vtime_account_system().
You are the native speaker and I wasn't listening in my english courses
so you definetly have the last word on this, I just want to be sure you
correctly understand why I try to say :)
>
> I don't know. But "is stime" is what made me have to read that three
> times to figure out what you meant.
>
>
> > */
> > vtime_account_system(current);
> > current->flags |= PF_VCPU;
> > @@ -81,10 +81,6 @@ static inline void guest_enter(void)
> >
> > static inline void guest_exit(void)
> > {
> > - /*
> > - * This is running in ioctl context so we can avoid
> > - * the call to vtime_account() with its unnecessary idle check.
> > - */
>
> Should we copy the comment here too?
Yeah or a small reminder.
Thanks.
>
> -- Steve
>
> > vtime_account_system(current);
> > current->flags &= ~PF_VCPU;
> > }
> > diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
> > index a7959e0..223a35e 100644
> > --- a/kernel/sched/cputime.c
> > +++ b/kernel/sched/cputime.c
> > @@ -712,6 +712,13 @@ void vtime_user_enter(struct task_struct *tsk)
> >
> > void vtime_guest_enter(struct task_struct *tsk)
> > {
> > + /*
> > + * The flags must be updated under the lock with
> > + * the vtime_snap flush and update.
> > + * That enforces a right ordering and update sequence
> > + * synchronization against the reader (task_gtime())
> > + * that can thus safely catch up with a tickless delta.
> > + */
> > write_seqlock(&tsk->vtime_seqlock);
> > __vtime_account_system(tsk);
> > current->flags |= PF_VCPU;
>
>
next prev parent reply other threads:[~2013-07-18 21:31 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-17 16:44 [PATCH 00/18] nohz patches for 3.12 preview Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 01/18] nohz: Do not warn about unstable tsc unless user uses nohz_full Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 02/18] nohz: fix compile warning in tick_nohz_init() Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 03/18] sched: Consolidate open coded preemptible() checks Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 04/18] context_tracing: Fix guest accounting with native vtime Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 05/18] vtime: Update a few comments Frederic Weisbecker
2013-07-17 17:57 ` Steven Rostedt
2013-07-18 21:30 ` Frederic Weisbecker [this message]
2013-07-17 16:44 ` [PATCH 06/18] context_tracking: Fix runtime CPU off-case Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 07/18] nohz: Selectively enable context tracking on full dynticks CPUs Frederic Weisbecker
2013-07-17 18:27 ` Steven Rostedt
2013-07-18 22:13 ` Frederic Weisbecker
2013-07-18 22:51 ` Steven Rostedt
2013-07-19 14:19 ` Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 08/18] context_tracking: Ground setup for static key use Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 09/18] context_tracking: Optimize main APIs off case with static key Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 10/18] context_tracking: Optimize context switch off case with static keys Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 11/18] context_tracking: User/kernel broundary cross trace events Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 12/18] vtime: Remove a few unneeded generic vtime state checks Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 13/18] vtime: Fix racy cputime delta update Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 14/18] context_tracking: Split low level state headers Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 15/18] vtime: Describe overriden functions in dedicated arch headers Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 16/18] vtime: Optimize full dynticks accounting off case with static keys Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 17/18] vtime: Always scale generic vtime accounting results Frederic Weisbecker
2013-07-17 16:44 ` [PATCH 18/18] vtime: Always debug check snapshot source _before_ updating it Frederic Weisbecker
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=20130718213053.GD7398@somewhere \
--to=fweisbec@gmail.com \
--cc=bp@alien8.de \
--cc=efault@gmx.de \
--cc=khilman@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=zhong@linux.vnet.ibm.com \
/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