public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Jes Sorensen <jes@wildopensource.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch -mm series] ia64 specific /dev/mem handlers
Date: Tue, 22 Feb 2005 14:41:04 +0000	[thread overview]
Message-ID: <yq0ekf8lksf.fsf@jaguar.mkp.net> (raw)
In-Reply-To: <20050222020309.4289504c.akpm@osdl.org>

>>>>> "Andrew" = Andrew Morton <akpm@osdl.org> writes:

Andrew> jes@trained-monkey.org (Jes Sorensen) wrote:
>>  Hi,
>> 
>> This patch introduces ia64 specific read/write handlers for
>> /dev/mem access which is needed to avoid uncached pages to be
>> accessed through the cached kernel window which can lead to random
>> corruption. It also introduces a new page-flag PG_uncached which
>> will be used to mark the uncached pages. I assume this may be
>> useful to other architectures as well where the CPU may use
>> speculative reads which conflict with uncached access. In addition
>> I moved do_write_mem to be under ARCH_HAS_DEV_MEM as it's only ever
>> used if that is defined.

Andrew> Is it possible to avoid consuming a page flag?

Andrew> If this is an ia64-only (or 64-bit-only) thing I guess we
Andrew> could use bit 32.

Hi Andrew,

I don't think we can get away with it, I think most modern
architectures have this problem. I've been trying to avoid it for
several iterations but I kept getting pushed towards this.

>> + if (page->flags & PG_uncached)

Andrew> dude.  That ain't gonna work ;)

Pardon my lack of clue, but why not?

Maybe I should explain how I use it - in the mspec driver I pull a
chunk of pages out using alloc_pages and convert them all to uncached
(I need to do a chunk due to the speculation restrictions on ia64) and
then stick them into a special allocator and set page->PG_uncached
when doing so (the allocator is not tied to the uncached so I posted
the patch to Tony Luck). Ie. once the pages have been grabbed with
alloc_pages() and converted to uncached, they are never put back into
the generic pool.

It may be there are other places which needs to learn to respect the
flag?

Cheers,
Jes


  parent reply	other threads:[~2005-02-22 14:41 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-22  9:52 [patch -mm series] ia64 specific /dev/mem handlers Jes Sorensen
2005-02-22 10:03 ` Andrew Morton
2005-02-22 12:08   ` Andi Kleen
2005-02-22 14:41   ` Jes Sorensen [this message]
2005-02-22 17:52     ` Matthew Wilcox
2005-02-22 19:25       ` Andrew Morton
2005-02-22 19:35         ` Dave Hansen
2005-02-22 21:38           ` Jes Sorensen
2005-02-23  0:48             ` Dave Hansen
2005-02-22 21:34         ` Jes Sorensen
2005-02-22 22:39         ` Jes Sorensen
2005-02-22 23:34           ` Andrew Morton
2005-02-23 10:01             ` Jes Sorensen
2005-02-23 22:34               ` Christoph Hellwig
2005-02-24 16:11                 ` Jes Sorensen
2005-03-10  6:55                   ` Andrew Morton
2005-03-10 13:49                     ` Jes Sorensen
2005-02-22 18:05 ` Luck, Tony
2005-02-22 22:03 ` Arjan van de Ven
2005-02-22 22:30   ` Jes Sorensen
2005-02-22 22:42     ` Arjan van de Ven
2005-02-23  8:12       ` Jes Sorensen
2005-02-23  8:24         ` Arjan van de Ven
2005-03-03 11:37 ` Andrew Morton
2005-03-03 12:53   ` Jes Sorensen
2005-03-04 12:26     ` Jes Sorensen

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=yq0ekf8lksf.fsf@jaguar.mkp.net \
    --to=jes@wildopensource.com \
    --cc=akpm@osdl.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.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