All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: rohitseth@google.com
Cc: 'Hugh Dickins' <hugh@veritas.com>,
	'Mike Stroyan' <mike.stroyan@hp.com>,
	'Andrew Morton' <akpm@linux-foundation.org>,
	"'Luck, Tony'" <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Fw: [PATCH] ia64: race flushing icache in do_no_page path
Date: Wed, 02 May 2007 02:05:15 +0000	[thread overview]
Message-ID: <4637F1DB.2010507@yahoo.com.au> (raw)
In-Reply-To: <1178066180.19466.68.camel@galaxy.corp.google.com>

Rohit Seth wrote:
> On Tue, 2007-05-01 at 21:52 +1000, Nick Piggin wrote:
> 
>>Rohit Seth wrote:
>>
>>
>>>>and 
>>>>it's only interested when it's executable i.e. "lazy_mmu_prot_update"
>>>>is a name concealing some overdesign.
>>>
>>>
>>>You are right that ia64 is only interested in whne the execute permissions
>>>kick in (and FWIW ia64 used to use update_mmu_cache API to do what it is now
>>>doing lazy_mmu_prot_update).  Though the idea was to design an API that any
>>>arch can use to know when ever there is change in protections on a mapping.
>>
>>What I think what we should do is audit flush_icache_page coverage, and
>>convert ia64 to use that (because it needs this to happen _before_ the
>>pte is set).
>>
> 
> 
> That doesn't address the underlying requirement that arch specific code
> should be told of change in protections. 

But you would add the flush_icache_page_chprot to address that.


> For ia64, you are right that
> it equates to flushing icache in some cases, but this API is more
> generic.

And it is also broken, because it needs to be done before the set_pte
for ia64. It needs to be done where flush_icache_page is done. And on
ia64 it flushes the icache. So I don't understand why ia64 would not
use flush_icache_page but add something completely new "because it is
more generic".


>>All we should need to do is add a pte argument to flush_icache,
> 
> 
> I'm sure this is doable.  Though it is more of design issue of whether
> that is the right way to do it.  I understand this extra API is
> difficult at this time because of one single consumer.

There is just no point in adding something else if you already have
a hook that seems to do what ia64 wants (or could, with a small amount
of work).

-- 
SUSE Labs, Novell Inc.

WARNING: multiple messages have this Message-ID (diff)
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: rohitseth@google.com
Cc: "'Hugh Dickins'" <hugh@veritas.com>,
	"'Mike Stroyan'" <mike.stroyan@hp.com>,
	"'Andrew Morton'" <akpm@linux-foundation.org>,
	"'Luck, Tony'" <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Fw: [PATCH] ia64: race flushing icache in do_no_page path
Date: Wed, 02 May 2007 12:05:15 +1000	[thread overview]
Message-ID: <4637F1DB.2010507@yahoo.com.au> (raw)
In-Reply-To: <1178066180.19466.68.camel@galaxy.corp.google.com>

Rohit Seth wrote:
> On Tue, 2007-05-01 at 21:52 +1000, Nick Piggin wrote:
> 
>>Rohit Seth wrote:
>>
>>
>>>>and 
>>>>it's only interested when it's executable i.e. "lazy_mmu_prot_update"
>>>>is a name concealing some overdesign.
>>>
>>>
>>>You are right that ia64 is only interested in whne the execute permissions
>>>kick in (and FWIW ia64 used to use update_mmu_cache API to do what it is now
>>>doing lazy_mmu_prot_update).  Though the idea was to design an API that any
>>>arch can use to know when ever there is change in protections on a mapping.
>>
>>What I think what we should do is audit flush_icache_page coverage, and
>>convert ia64 to use that (because it needs this to happen _before_ the
>>pte is set).
>>
> 
> 
> That doesn't address the underlying requirement that arch specific code
> should be told of change in protections. 

But you would add the flush_icache_page_chprot to address that.


> For ia64, you are right that
> it equates to flushing icache in some cases, but this API is more
> generic.

And it is also broken, because it needs to be done before the set_pte
for ia64. It needs to be done where flush_icache_page is done. And on
ia64 it flushes the icache. So I don't understand why ia64 would not
use flush_icache_page but add something completely new "because it is
more generic".


>>All we should need to do is add a pte argument to flush_icache,
> 
> 
> I'm sure this is doable.  Though it is more of design issue of whether
> that is the right way to do it.  I understand this extra API is
> difficult at this time because of one single consumer.

There is just no point in adding something else if you already have
a hook that seems to do what ia64 wants (or could, with a small amount
of work).

-- 
SUSE Labs, Novell Inc.

  reply	other threads:[~2007-05-02  2:05 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070425205548.fd51b301.akpm@linux-foundation.org>
2007-04-26  7:53 ` Fw: [PATCH] ia64: race flushing icache in do_no_page path Nick Piggin
2007-04-26  7:53   ` Nick Piggin
2007-04-26 17:35   ` Mike Stroyan
2007-04-26 17:35     ` Mike Stroyan
2007-04-27 11:55     ` Nick Piggin
2007-04-27 11:55       ` Nick Piggin
2007-04-27 14:18       ` Hugh Dickins
2007-04-27 14:18         ` Hugh Dickins
2007-04-27 17:02         ` David Mosberger-Tang
2007-04-27 17:02           ` David Mosberger-Tang
2007-04-28  1:31         ` Rohit Seth
2007-04-28  1:31           ` Rohit Seth
2007-04-28  5:34           ` Hugh Dickins
2007-04-28  5:34             ` Hugh Dickins
2007-04-28  2:16         ` Nick Piggin
2007-04-28  2:16           ` Nick Piggin
2007-04-28  1:24       ` Rohit Seth
2007-04-28  1:24         ` Rohit Seth
2007-04-28  2:00         ` Nick Piggin
2007-04-28  2:00           ` Nick Piggin
2007-04-26  0:16           ` Mike Stroyan
2007-04-26  0:16             ` Mike Stroyan
2007-04-28 17:57             ` Fw: " Rohit Seth
2007-04-28 17:57               ` Rohit Seth
2007-05-01 11:39               ` Nick Piggin
2007-05-01 11:39                 ` Nick Piggin
2007-05-02  0:36                 ` Rohit Seth
2007-05-02  0:36                   ` Rohit Seth
2007-05-02  1:57                   ` Nick Piggin
2007-05-02  1:57                     ` Nick Piggin
2007-04-28 18:05             ` Rohit Seth
2007-04-28 18:05               ` Rohit Seth
2007-05-01 11:43               ` Nick Piggin
2007-05-01 11:43                 ` Nick Piggin
2007-05-04 21:32                 ` Mike Stroyan
2007-05-04 21:32                   ` Mike Stroyan
2007-04-28 18:17             ` Rohit Seth
2007-04-28 18:17               ` Rohit Seth
2007-05-01 11:52               ` Nick Piggin
2007-05-01 11:52                 ` Nick Piggin
2007-05-02  0:36                 ` Rohit Seth
2007-05-02  0:36                   ` Rohit Seth
2007-05-02  2:05                   ` Nick Piggin [this message]
2007-05-02  2:05                     ` Nick Piggin
2007-04-28 18:30             ` Rohit Seth
2007-04-28 18:30               ` Rohit Seth
2007-05-01 11:47               ` Nick Piggin
2007-05-01 11:47                 ` Nick Piggin
2007-05-02  0:36                 ` Rohit Seth
2007-05-02  0:36                   ` Rohit Seth
2007-07-04 14:24             ` Zoltan Menyhart
2007-07-04 14:24               ` Zoltan Menyhart
2007-07-04 16:58               ` KAMEZAWA Hiroyuki
2007-07-04 16:58                 ` KAMEZAWA Hiroyuki
2007-07-05  8:57                 ` Zoltan Menyhart
2007-07-05  8:57                   ` Zoltan Menyhart
2007-07-05 17:36                   ` Mike Stroyan
2007-07-05 17:36                     ` Mike Stroyan
2007-04-28  3:04           ` Nick Piggin
2007-04-28  3:04             ` Nick Piggin
2007-04-28  5:20             ` Hugh Dickins
2007-04-28  5:20               ` Hugh Dickins
2007-04-28  6:03               ` Nick Piggin
2007-04-28  6:03                 ` Nick Piggin
2007-04-28  4:11           ` Nick Piggin
2007-04-28  4:11             ` 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=4637F1DB.2010507@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@linux-foundation.org \
    --cc=hugh@veritas.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.stroyan@hp.com \
    --cc=rohitseth@google.com \
    --cc=tony.luck@intel.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 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.