From: jbarnes@sgi.com (Jesse Barnes)
To: Anthony Dominic Truong <anthony.truong@mascorp.com>
Cc: linux-kernel@vger.kernel.org, Jamie Lokier <jamie@shareable.org>,
willy@debian.org
Subject: Re: Memory mapped IO vs Port IO
Date: Fri, 12 Sep 2003 09:27:13 -0700 [thread overview]
Message-ID: <20030912162713.GA4852@sgi.com> (raw)
In-Reply-To: <1063308053.4430.37.camel@huykhoi>
On Fri, Sep 12, 2003 at 09:10:25AM -0700, Anthony Dominic Truong wrote:
> Andi Kleen wrote:
> > #ifdef CONFIG_MMIO
> > writel(... )
> > readl(...)
> > #else
> > outl( ... )
> > inl ( ...)
> > #endif
> >
> > to
> > if (dev->mmio) {
> > writel();
> > real();
> > } else {
> > outl();
> > inl();
> > }
> >
> > and you will have a hard time to benchmark the difference on any non
> > ancient system
> > in actual driver operation.
> >
> > -Andi
> >
> Hello,
> Wouldn't it be better if we set the IN and OUT function pointers to the
> right functions during driver init. based on the setting of dev->mmio.
> And throughout the driver, we just call the IN and OUT functions by
> their pointers. Then we don't have to do if (dev->mmio) every time.
> It's similar to the concept of virtual member function in C++.
I'd rather not see any more pointer dereferences or even branches than
absolutely necessary. Right now, readX/writeX and inX/outX are usually
inlines, and outX and writeX can be very fast. So I'd prefer either a
global CONFIG_MMIO option or consistent driver specific options that
explain what the difference between MMIO and port I/O actually is.
Jesse
next prev parent reply other threads:[~2003-09-12 16:27 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20030911160116.GI21596@parcelfarce.linux.theplanet.co.uk.suse.lists.linux.kernel>
2003-09-11 16:17 ` Memory mapped IO vs Port IO Andi Kleen
2003-09-11 16:25 ` Matthew Wilcox
2003-09-11 16:31 ` Andi Kleen
2003-09-11 16:42 ` Matthew Wilcox
2003-09-11 17:12 ` Jamie Lokier
2003-09-11 17:25 ` Andi Kleen
2003-09-12 1:39 ` jw schultz
2003-09-12 16:10 ` Anthony Dominic Truong
2003-09-12 16:22 ` Jamie Lokier
2003-09-12 16:27 ` Jesse Barnes [this message]
2003-09-12 17:48 ` Jesse Barnes
2003-09-11 17:13 ` Jamie Lokier
[not found] ` <20030911161450.GA23536@sgi.com.suse.lists.linux.kernel>
2003-09-11 16:20 ` Andi Kleen
[not found] <20030911192550.7dfaf08c.ak@suse.de.suse.lists.linux.kernel>
[not found] ` <1063308053.4430.37.camel@huykhoi.suse.lists.linux.kernel>
[not found] ` <20030912162713.GA4852@sgi.com.suse.lists.linux.kernel>
[not found] ` <20030912174807.GA629@sgi.com.suse.lists.linux.kernel>
2003-09-12 18:00 ` Andi Kleen
2003-09-12 18:04 ` Jesse Barnes
2003-09-12 18:09 ` Andi Kleen
2003-09-12 18:11 ` Tim Hockin
2003-09-12 18:24 ` Jesse Barnes
2003-09-12 18:29 ` Andi Kleen
2003-09-12 18:58 ` Martin J. Bligh
2003-09-12 19:51 ` Jesse Barnes
2003-09-12 16:41 John Bradford
2003-09-12 21:52 ` Mike Fedyk
2003-09-13 4:01 ` Mike Fedyk
-- strict thread matches above, loose matches on Subject: below --
2003-09-11 16:01 Matthew Wilcox
2003-09-11 16:14 ` Måns Rullgård
2003-09-11 16:14 ` Jesse Barnes
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=20030912162713.GA4852@sgi.com \
--to=jbarnes@sgi.com \
--cc=anthony.truong@mascorp.com \
--cc=jamie@shareable.org \
--cc=linux-kernel@vger.kernel.org \
--cc=willy@debian.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;
as well as URLs for NNTP newsgroup(s).