From: Linus Torvalds <torvalds@linux-foundation.org>
To: Keith Packard <keithp@keithp.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>,
nickpiggin@yahoo.com.au, airlied@linux.ie,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
jbarnes@virtuousgeek.org, dri-devel@lists.sf.net,
yinghai@kernel.org, Peter Anvin <hpa@zytor.com>
Subject: Re: Adding kmap_atomic_prot_pfn (was: [git pull] drm patches for 2.6.27-rc1)
Date: Thu, 23 Oct 2008 19:48:11 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.2.00.0810231934590.3287@nehalem.linux-foundation.org> (raw)
In-Reply-To: <1224813015.22877.51.camel@koto.keithp.com>
On Thu, 23 Oct 2008, Keith Packard wrote:
>
> > So I'd much rather create a new <linux/kmap.h> or something. Or just
> > expose this from to <asm/fixmap.h> or something. Let's not confuse this
> > with highmem, even if the implementation _historically_ was due to that.
>
> Sure, we readily admit that we're abusing the highmem API. So we wrapped
> that abusive code in a pretty package that can be re-implemented however
> you desire.
>
> How (and when) would you like to see this fixed?
I'm not entirely sure who wants to own up to owning that particular part
of code, and is willing to make kmap_atomic_prot_pfn() also work in the
absense of CONFIG_HIGHMEM.
I suspect it's Ingo, but I also suspect that he'd like to see a tested
patch by somebody who actually _uses_ this code.
So I would suspect that if you guys actually write a patch, and make sure
that it works on x86-32 even _without_ CONFIG_HIGHMEM, and send it to
Ingo, good things will happen.
As to the "without CONFIG_HIGHMEM" part: making all of this work even
without HIGHMEM should literally be a matter of:
- remove the '#ifdef CONFIG_HIGHMEM' in <asm/fixmap_32.h>, so that we
have fixmap entries for the temporary kernel mappings regardless (ie
FIX_KMAP_BEGIN and FIX_KMAP_END).
- move the code for the atomic accesses that use those fixmap entries
into a file that gets compiled regardless of CONFIG_HIGHMEM. Or at
least just kmap_atomic_prot_pfn() and kunmap_atomic().
and it probably should all work automatically. The kmap_atomic() stuff
really should be almost totally independent of CONFIG_HIGHMEM, since it's
really much more closely related to fixmaps than HIGHMEM.
I guess there may be some debugging code that depends on HIGHMEM (eg that
whole testing for whether a page is a highmem page or not), so it might be
a _bit_ more than just moving code around, but I really didn't look
closer.
Then, there's the issue of 64-bit, and just mapping everything there, and
the interface to that. I liked the trivial extension to "struct resource"
to have a "cached mapping" pointer. So if we can just make it pass
resources around and get a page that way (and not even need kmap() on
64-bit architections), that would be good.
It's too late for -rc1 (which I'm planning on cutting within the hour),
and if it ends up being complex, I guess that it means this will eb a
2.6.29 issue.
But if it really is just a matter of mostly just some trivial code
movement and both the gfx and x86 people are all happy, I'll happily take
it for -rc2, and we can just leave this all behind us.
Linus
next prev parent reply other threads:[~2008-10-24 2:49 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-17 21:29 [git pull] drm patches for 2.6.27-rc1 Dave Airlie
2008-10-17 22:43 ` Linus Torvalds
2008-10-18 2:10 ` Eric Anholt
2008-10-18 2:47 ` Linus Torvalds
2008-10-18 3:49 ` Keith Packard
2008-10-18 6:44 ` Corbin Simpson
2008-10-18 7:49 ` Eric Anholt
2008-10-19 17:52 ` Peter Zijlstra
2008-10-20 4:17 ` Steven J Newbury
2008-10-20 16:31 ` Linus Torvalds
2008-10-20 20:04 ` Jesse Barnes
2008-10-18 9:11 ` Dave Airlie
2008-10-18 1:37 ` Nick Piggin
2008-10-18 19:11 ` Keith Packard
2008-10-18 19:31 ` Linus Torvalds
2008-10-18 20:07 ` Thomas Hellström
2008-10-18 20:20 ` Keith Packard
2008-10-18 20:37 ` Ingo Molnar
2008-10-18 21:51 ` Keith Packard
2008-10-18 22:32 ` Ingo Molnar
2008-10-18 22:47 ` Jon Smirl
2008-10-18 22:53 ` Linus Torvalds
2008-10-19 0:38 ` Keith Packard
2008-10-19 1:06 ` Arjan van de Ven
2008-10-19 1:15 ` Keith Packard
2008-10-20 10:01 ` Ingo Molnar
2008-10-19 4:14 ` Keith Packard
2008-10-19 6:41 ` Keith Packard
2008-10-19 17:53 ` io resources and cached mappings (was: [git pull] drm patches for 2.6.27-rc1) Ingo Molnar
2008-10-19 18:00 ` Arjan van de Ven
2008-10-19 19:07 ` Eric Anholt
2008-10-20 11:55 ` Ingo Molnar
2008-10-20 12:20 ` Ingo Molnar
2008-10-19 21:04 ` Keith Packard
2008-10-20 11:58 ` Ingo Molnar
2008-10-20 15:49 ` Keith Packard
2008-10-22 9:36 ` Ingo Molnar
2008-10-23 7:14 ` Keith Packard
2008-10-23 7:14 ` [PATCH] Add io-mapping functions to dynamically map large device apertures Keith Packard
2008-10-23 7:14 ` [PATCH] [drm/i915] Use io-mapping interfaces instead of a variety of mapping kludges Keith Packard
2008-10-24 4:49 ` [PATCH] Add io-mapping functions to dynamically map large device apertures Randy Dunlap
2008-10-24 6:26 ` Keith Packard
2008-10-23 8:05 ` io resources and cached mappings (was: [git pull] drm patches for 2.6.27-rc1) Ingo Molnar
2008-10-23 15:39 ` Keith Packard
2008-11-03 7:00 ` Dave Airlie
2008-11-03 10:48 ` Ingo Molnar
2008-11-03 16:36 ` Linus Torvalds
2008-11-03 16:53 ` Ingo Molnar
2008-11-03 17:29 ` [git pull] IO mappings, #2 Ingo Molnar
2008-11-04 22:36 ` Jonathan Corbet
2008-11-05 9:01 ` Ingo Molnar
2008-10-23 20:22 ` Adding kmap_atomic_prot_pfn (was: [git pull] drm patches for 2.6.27-rc1) Keith Packard
2008-10-23 20:38 ` Andrew Morton
2008-10-23 21:03 ` Keith Packard
2008-10-23 21:24 ` Linus Torvalds
2008-10-24 1:50 ` Keith Packard
2008-10-24 2:48 ` Linus Torvalds [this message]
2008-10-24 3:24 ` Benjamin Herrenschmidt
2008-10-24 5:37 ` Keith Packard
2008-10-24 14:53 ` Linus Torvalds
2008-10-24 15:45 ` Keith Packard
2008-10-24 4:29 ` Keith Packard
2008-10-24 6:22 ` Keith Packard
2008-10-24 7:33 ` Adding kmap_atomic_prot_pfn Thomas Hellström
2008-10-24 8:38 ` Ingo Molnar
2008-10-24 9:19 ` Thomas Hellström
2008-10-24 9:32 ` Ingo Molnar
2008-10-24 11:04 ` Thomas Hellström
2008-10-24 15:48 ` Keith Packard
2008-10-24 10:18 ` Thomas Hellström
2008-10-24 9:14 ` Adding kmap_atomic_prot_pfn (was: [git pull] drm patches for 2.6.27-rc1) Ingo Molnar
2008-10-24 3:21 ` Benjamin Herrenschmidt
2008-10-20 10:10 ` io resources and cached mappings " Ingo Molnar
2008-10-19 4:28 ` [git pull] drm patches for 2.6.27-rc1 Yinghai Lu
2008-10-19 3:14 ` Nick Piggin
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=alpine.LFD.2.00.0810231934590.3287@nehalem.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=airlied@linux.ie \
--cc=akpm@linux-foundation.org \
--cc=dri-devel@lists.sf.net \
--cc=hpa@zytor.com \
--cc=jbarnes@virtuousgeek.org \
--cc=keithp@keithp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
--cc=yinghai@kernel.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®