All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zoltan Menyhart <Zoltan.Menyhart@bull.net>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, tony.luck@intel.com, nickpiggin@yahoo.com.au,
	mike@stroyan.net, dmosberger@gmail.com, y-goto@jp.fujitsu.com
Subject: Re: [BUGFIX]{PATCH] flush icache on ia64 take2
Date: Thu, 19 Jul 2007 14:33:06 +0000	[thread overview]
Message-ID: <469F7622.6070801@bull.net> (raw)
In-Reply-To: <20070719223208.87383731.kamezawa.hiroyu@jp.fujitsu.com>

KAMEZAWA Hiroyuki wrote:

> A bit new idea.  How about this ?
> =
> - Set PG_arch_1 if  "icache is *not* coherent"

page-flags.h:
 * PG_arch_1 is an architecture specific page state bit.  The generic code
 * guarantees that this bit is cleared for a page when it first is entered into
 * the page cache.

I do not think you can easily change it.
I can agree, making nfs_readpage() call an architecture dependent service
is not an easy stuff either. :-)

> - make flush_dcache_page() to be empty func.
> - For Montecito, add kmap_atomic(). This function just set PG_arch1.

kmap_atomic() is used at several places. Do you want to set
PG_arch1, everywhere kmap_atomic() is called?

>   Then, "the page which is copied by the kernel" is marked as "not icache coherent page"
> - icache_flush_page() just flushes a page which has PG_arch_1.
> - Anonymous page is always has PG_arch_1. Tkae care of Copy-On-Write.

You can allocate (even in user mode) an anonymous page, hand-create or
read() in some code from a file, and mprotect(...., EXEC)-it. The page has
to become I-cache coherent.

I am not sure I can really understand your proposal.
I cannot see how the compatibility to the existing code is made sure.

Thanks,

Zoltan

WARNING: multiple messages have this Message-ID (diff)
From: Zoltan Menyhart <Zoltan.Menyhart@bull.net>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, tony.luck@intel.com, nickpiggin@yahoo.com.au,
	mike@stroyan.net, dmosberger@gmail.com, y-goto@jp.fujitsu.com
Subject: Re: [BUGFIX]{PATCH] flush icache on ia64 take2
Date: Thu, 19 Jul 2007 16:33:06 +0200	[thread overview]
Message-ID: <469F7622.6070801@bull.net> (raw)
In-Reply-To: <20070719223208.87383731.kamezawa.hiroyu@jp.fujitsu.com>

KAMEZAWA Hiroyuki wrote:

> A bit new idea.  How about this ?
> ==
> - Set PG_arch_1 if  "icache is *not* coherent"

page-flags.h:
 * PG_arch_1 is an architecture specific page state bit.  The generic code
 * guarantees that this bit is cleared for a page when it first is entered into
 * the page cache.

I do not think you can easily change it.
I can agree, making nfs_readpage() call an architecture dependent service
is not an easy stuff either. :-)

> - make flush_dcache_page() to be empty func.
> - For Montecito, add kmap_atomic(). This function just set PG_arch1.

kmap_atomic() is used at several places. Do you want to set
PG_arch1, everywhere kmap_atomic() is called?

>   Then, "the page which is copied by the kernel" is marked as "not icache coherent page"
> - icache_flush_page() just flushes a page which has PG_arch_1.
> - Anonymous page is always has PG_arch_1. Tkae care of Copy-On-Write.

You can allocate (even in user mode) an anonymous page, hand-create or
read() in some code from a file, and mprotect(...., EXEC)-it. The page has
to become I-cache coherent.

I am not sure I can really understand your proposal.
I cannot see how the compatibility to the existing code is made sure.

Thanks,

Zoltan

WARNING: multiple messages have this Message-ID (diff)
From: Zoltan Menyhart <Zoltan.Menyhart@bull.net>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, tony.luck@intel.com, nickpiggin@yahoo.com.au,
	mike@stroyan.net, dmosberger@gmail.com, y-goto@jp.fujitsu.com
Subject: Re: [BUGFIX]{PATCH] flush icache on ia64 take2
Date: Thu, 19 Jul 2007 16:33:06 +0200	[thread overview]
Message-ID: <469F7622.6070801@bull.net> (raw)
In-Reply-To: <20070719223208.87383731.kamezawa.hiroyu@jp.fujitsu.com>

KAMEZAWA Hiroyuki wrote:

> A bit new idea.  How about this ?
> ==
> - Set PG_arch_1 if  "icache is *not* coherent"

page-flags.h:
 * PG_arch_1 is an architecture specific page state bit.  The generic code
 * guarantees that this bit is cleared for a page when it first is entered into
 * the page cache.

I do not think you can easily change it.
I can agree, making nfs_readpage() call an architecture dependent service
is not an easy stuff either. :-)

> - make flush_dcache_page() to be empty func.
> - For Montecito, add kmap_atomic(). This function just set PG_arch1.

kmap_atomic() is used at several places. Do you want to set
PG_arch1, everywhere kmap_atomic() is called?

>   Then, "the page which is copied by the kernel" is marked as "not icache coherent page"
> - icache_flush_page() just flushes a page which has PG_arch_1.
> - Anonymous page is always has PG_arch_1. Tkae care of Copy-On-Write.

You can allocate (even in user mode) an anonymous page, hand-create or
read() in some code from a file, and mprotect(...., EXEC)-it. The page has
to become I-cache coherent.

I am not sure I can really understand your proposal.
I cannot see how the compatibility to the existing code is made sure.

Thanks,

Zoltan

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-07-19 14:33 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-06  2:29 [BUGFIX]{PATCH] flush icache on ia64 take2 KAMEZAWA Hiroyuki
2007-07-06  2:29 ` KAMEZAWA Hiroyuki
2007-07-06  2:29 ` KAMEZAWA Hiroyuki
2007-07-06  9:41 ` Zoltan Menyhart
2007-07-06  9:41   ` Zoltan Menyhart
2007-07-06  9:41   ` Zoltan Menyhart
2007-07-06  9:50   ` KAMEZAWA Hiroyuki
2007-07-06  9:50     ` KAMEZAWA Hiroyuki
2007-07-06  9:50     ` KAMEZAWA Hiroyuki
2007-07-19  6:56 ` KAMEZAWA Hiroyuki
2007-07-19  6:56   ` KAMEZAWA Hiroyuki
2007-07-19  6:56   ` KAMEZAWA Hiroyuki
2007-07-19 12:05   ` Zoltan Menyhart
2007-07-19 12:05     ` Zoltan Menyhart
2007-07-19 12:05     ` Zoltan Menyhart
2007-07-19 13:01     ` KAMEZAWA Hiroyuki
2007-07-19 13:01       ` KAMEZAWA Hiroyuki
2007-07-19 13:01       ` KAMEZAWA Hiroyuki
2007-07-19 13:32       ` KAMEZAWA Hiroyuki
2007-07-19 13:32         ` KAMEZAWA Hiroyuki
2007-07-19 13:32         ` KAMEZAWA Hiroyuki
2007-07-19 14:33         ` Zoltan Menyhart [this message]
2007-07-19 14:33           ` Zoltan Menyhart
2007-07-19 14:33           ` Zoltan Menyhart
2007-07-19 14:15       ` Zoltan Menyhart
2007-07-19 14:15         ` Zoltan Menyhart
2007-07-19 14:15         ` Zoltan Menyhart
2007-07-19 14:51         ` KAMEZAWA Hiroyuki
2007-07-19 14:51           ` KAMEZAWA Hiroyuki
2007-07-19 14:51           ` KAMEZAWA Hiroyuki
2007-07-19 15:18           ` Zoltan Menyhart
2007-07-19 15:18             ` Zoltan Menyhart
2007-07-19 15:18             ` Zoltan Menyhart
2007-07-20  1:51             ` KAMEZAWA Hiroyuki
2007-07-20  1:51               ` KAMEZAWA Hiroyuki
2007-07-20  1:51               ` KAMEZAWA Hiroyuki
2007-07-19 12:15   ` Zoltan Menyhart
2007-07-19 12:15     ` Zoltan Menyhart
2007-07-19 12:15     ` Zoltan Menyhart

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=469F7622.6070801@bull.net \
    --to=zoltan.menyhart@bull.net \
    --cc=dmosberger@gmail.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mike@stroyan.net \
    --cc=nickpiggin@yahoo.com.au \
    --cc=tony.luck@intel.com \
    --cc=y-goto@jp.fujitsu.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.