All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Mackall <mpm@selenic.com>
To: john stultz <johnstul@us.ibm.com>
Cc: Christoph Lameter <clameter@sgi.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Tim Schmielau <tim@physik3.uni-rostock.de>,
	George Anzinger <george@mvista.com>,
	albert@users.sourceforge.net,
	Ulrich Windl <ulrich.windl@rz.uni-regensburg.de>,
	Dominik Brodowski <linux@dominikbrodowski.de>,
	David Mosberger <davidm@hpl.hp.com>, Andi Kleen <ak@suse.de>,
	paulus@samba.org, schwidefsky@de.ibm.com,
	keith maanthey <kmannth@us.ibm.com>,
	Patricia Gaughen <gone@us.ibm.com>,
	Chris McDermott <lcm@us.ibm.com>, Max Asbock <masbock@us.ibm.com>,
	mahuja@us.ibm.com, Nishanth Aravamudan <nacc@us.ibm.com>,
	Darren Hart <darren@dvhart.com>,
	"Darrick J. Wong" <djwong@us.ibm.com>,
	Anton Blanchard <anton@samba.org>,
	donf@us.ibm.com
Subject: Re: [RFC][PATCH] new timeofday core subsystem (v. A3)
Date: Mon, 14 Mar 2005 12:27:02 -0800	[thread overview]
Message-ID: <20050314202702.GF32638@waste.org> (raw)
In-Reply-To: <1110830647.30498.388.camel@cog.beaverton.ibm.com>

On Mon, Mar 14, 2005 at 12:04:07PM -0800, john stultz wrote:
> > > > > > > +static inline cycle_t read_timesource(struct timesource_t* ts)
> > > > > > > +{
> > > > > > > +	switch (ts->type) {
> > > > > > > +	case TIMESOURCE_MMIO_32:
> > > > > > > +		return (cycle_t)readl(ts->mmio_ptr);
> > > > > > > +	case TIMESOURCE_MMIO_64:
> > > > > > > +		return (cycle_t)readq(ts->mmio_ptr);
> > > > > > > +	case TIMESOURCE_CYCLES:
> > > > > > > +		return (cycle_t)get_cycles();
> > > > > > > +	default:/* case: TIMESOURCE_FUNCTION */
> > > > > > > +		return ts->read_fnct();
> > > > > > > +	}
> > > > > > > +}
> > Well where we'd read an MMIO address, we'd simply set read_fnct to
> > generic_timesource_mmio32 or so. And that function just does the read.
> > So both that function and read_timesource become one-liners and we
> > drop the conditional branches in the switch.
> 
> However the vsyscall/fsyscall bits cannot call in-kernel functions (as
> they execute in userspace or a sudo-userspace). As it stands now in my
> design TIMESOURCE_FUNCTION timesources will not be usable for
> vsyscall/fsyscall implementations, so I'm not sure if that's doable.
> 
> I'd be interested you've got a way around that.

We can either stick all the generic mmio timer functions in the
vsyscall page (they're tiny) or leave the vsyscall using type/ptr but
have the kernel internally use only the function pointer. Someone
who's more familiar with the vsyscall timer code should chime in here.

-- 
Mathematics is the supreme nostalgia of our time.

  reply	other threads:[~2005-03-14 20:29 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-12  1:24 [RFC][PATCH] new timeofday core subsystem (v. A3) john stultz
2005-03-12  1:25 ` [RFC][PATCH] new timeofday arch specific hooks " john stultz
2005-03-12  1:26   ` [RFC][PATCH] new timeofday arch specific timesource drivers " john stultz
2005-03-12  5:52   ` [RFC][PATCH] new timeofday arch specific hooks " Benjamin Herrenschmidt
2005-03-14 18:09     ` john stultz
2005-03-15 22:59   ` Pavel Machek
2005-03-15 23:42     ` john stultz
2005-03-15 23:44       ` Pavel Machek
2005-03-16  1:44         ` john stultz
2005-03-16 10:53           ` Pavel Machek
2005-03-13  0:49 ` [RFC][PATCH] new timeofday core subsystem " Matt Mackall
2005-03-13  1:46   ` Andreas Schwab
2005-03-14 18:42   ` john stultz
2005-03-14 19:29     ` Matt Mackall
2005-03-14 19:43       ` john stultz
2005-03-14 19:51         ` Matt Mackall
2005-03-14 20:04           ` john stultz
2005-03-14 20:27             ` Matt Mackall [this message]
2005-03-15  0:01               ` Christoph Lameter
2005-03-15  2:16               ` Albert Cahalan
2005-03-15  3:22                 ` Christoph Lameter
2005-03-15 15:23                   ` Albert Cahalan
2005-03-15 15:52                     ` Chris Friesen
2005-03-17 16:55                     ` Russell King
2005-03-17 19:44                       ` Albert Cahalan
2005-03-17 20:28                         ` Russell King
2005-03-15  0:28         ` Christoph Lameter
2005-03-15  0:43           ` john stultz
2005-03-14 23:40     ` George Anzinger
2005-03-15  1:11       ` [topic change] jiffies as a time value john stultz
2005-03-15 23:01         ` George Anzinger
2005-03-16  3:57           ` john stultz
2005-03-15  0:07 ` [RFC][PATCH] new timeofday core subsystem (v. A3) Christoph Lameter
2005-03-15  5:37 ` Christoph Lameter
2005-03-15 18:25   ` john stultz
2005-03-15 22:08     ` George Anzinger
2005-03-17  8:15     ` Ulrich Windl
2005-03-15  6:09 ` Christoph Lameter

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=20050314202702.GF32638@waste.org \
    --to=mpm@selenic.com \
    --cc=ak@suse.de \
    --cc=albert@users.sourceforge.net \
    --cc=anton@samba.org \
    --cc=clameter@sgi.com \
    --cc=darren@dvhart.com \
    --cc=davidm@hpl.hp.com \
    --cc=djwong@us.ibm.com \
    --cc=donf@us.ibm.com \
    --cc=george@mvista.com \
    --cc=gone@us.ibm.com \
    --cc=johnstul@us.ibm.com \
    --cc=kmannth@us.ibm.com \
    --cc=lcm@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@dominikbrodowski.de \
    --cc=mahuja@us.ibm.com \
    --cc=masbock@us.ibm.com \
    --cc=nacc@us.ibm.com \
    --cc=paulus@samba.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=tim@physik3.uni-rostock.de \
    --cc=ulrich.windl@rz.uni-regensburg.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 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.