All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@osdl.org>
To: Andrew Morton <akpm@osdl.org>
Cc: mbligh@aracnet.com, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, kmannth@us.ibm.com
Subject: Re: [Bugme-new] [Bug 2019] New: Bug from the mm subsystem involving X  (fwd)
Date: Wed, 4 Feb 2004 17:29:04 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.58.0402041719300.2086@home.osdl.org> (raw)
In-Reply-To: <20040204165620.3d608798.akpm@osdl.org>



On Wed, 4 Feb 2004, Andrew Morton wrote:
> 
> pfn_valid() could become quite expensive indeed, and it lies on super-duper
> hotpaths.

Yes. However, sometimes it is the only choice. 

So it does need to be fixed, and if it ends up being a noticeable
perofmance problem, then we can look at the hot-paths one by one and see
if we can avoid using it. We probably can, most of the time.

> An alternative which is less conceptually clean but should work in this
> case is to mark all vma's which were created by /dev/mem mappings as VM_IO,
> and test that in remap_page_range().

Hmm.. Grepping for "pfn_valid()", I'm starting to suspect that yes, with a
VM_IO approach and a fixed virt_addr_valid(), there really aren't any
other uses.

(virt_addr_valid() is useful for debugging and for validation of untrusted
pointers, but pfn_valid() just isn't very good for it. Never really was:  
it started out as an ugly hack, and it never got cleaned up. It should be
easily fixable with something _proper_).

			Linus

WARNING: multiple messages have this Message-ID (diff)
From: Linus Torvalds <torvalds@osdl.org>
To: Andrew Morton <akpm@osdl.org>
Cc: mbligh@aracnet.com, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, kmannth@us.ibm.com
Subject: Re: [Bugme-new] [Bug 2019] New: Bug from the mm subsystem involving X  (fwd)
Date: Wed, 4 Feb 2004 17:29:04 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.58.0402041719300.2086@home.osdl.org> (raw)
In-Reply-To: <20040204165620.3d608798.akpm@osdl.org>


On Wed, 4 Feb 2004, Andrew Morton wrote:
> 
> pfn_valid() could become quite expensive indeed, and it lies on super-duper
> hotpaths.

Yes. However, sometimes it is the only choice. 

So it does need to be fixed, and if it ends up being a noticeable
perofmance problem, then we can look at the hot-paths one by one and see
if we can avoid using it. We probably can, most of the time.

> An alternative which is less conceptually clean but should work in this
> case is to mark all vma's which were created by /dev/mem mappings as VM_IO,
> and test that in remap_page_range().

Hmm.. Grepping for "pfn_valid()", I'm starting to suspect that yes, with a
VM_IO approach and a fixed virt_addr_valid(), there really aren't any
other uses.

(virt_addr_valid() is useful for debugging and for validation of untrusted
pointers, but pfn_valid() just isn't very good for it. Never really was:  
it started out as an ugly hack, and it never got cleaned up. It should be
easily fixable with something _proper_).

			Linus
--
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:"aart@kvack.org"> aart@kvack.org </a>

  reply	other threads:[~2004-02-05  1:29 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-04 23:17 [Bugme-new] [Bug 2019] New: Bug from the mm subsystem involving X (fwd) Martin J. Bligh
2004-02-04 23:17 ` Martin J. Bligh
2004-02-04 23:58 ` Linus Torvalds
2004-02-04 23:58   ` Linus Torvalds
2004-02-05  0:12   ` Martin J. Bligh
2004-02-05  0:12     ` Martin J. Bligh
2004-02-05  0:36     ` Martin J. Bligh
2004-02-05  0:36       ` Martin J. Bligh
2004-02-05  0:43       ` Linus Torvalds
2004-02-05  0:43         ` Linus Torvalds
2004-02-05  0:56         ` Andrew Morton
2004-02-05  0:56           ` Andrew Morton
2004-02-05  1:29           ` Linus Torvalds [this message]
2004-02-05  1:29             ` Linus Torvalds
2004-02-05  1:56             ` Keith Mannthey
2004-02-05  1:56               ` Keith Mannthey
2004-02-05  2:04               ` Linus Torvalds
2004-02-05  2:04                 ` Linus Torvalds
2004-02-05  2:33                 ` Keith Mannthey
2004-02-05  2:33                   ` Keith Mannthey
2004-02-05  2:47                   ` Linus Torvalds
2004-02-05  2:47                     ` Linus Torvalds
2004-02-06  7:17                 ` Martin J. Bligh
2004-02-06  7:17                   ` Martin J. Bligh
2004-02-06  7:19                   ` Martin J. Bligh
2004-02-06  7:19                     ` Martin J. Bligh
2004-02-06  9:57                   ` Dave Hansen
2004-02-06  9:57                     ` Dave Hansen
2004-02-06 15:49                     ` Martin J. Bligh
2004-02-06 15:49                       ` Martin J. Bligh
2004-02-06 17:22                       ` Dave Hansen
2004-02-06 17:22                         ` Dave Hansen
2004-02-06 19:59                         ` Martin J. Bligh
2004-02-06 19:59                           ` Martin J. Bligh
2004-02-06 20:16                           ` Linus Torvalds
2004-02-06 20:16                             ` Linus Torvalds
2004-02-06 21:18                             ` Martin J. Bligh
2004-02-06 21:18                               ` Martin J. Bligh
     [not found] <51080000.1075936626@flay.suse.lists.linux.kernel>
     [not found] ` <Pine.LNX.4.58.0402041539470.2086@home.osdl.org.suse.lists.linux.kernel>
     [not found]   ` <60330000.1075939958@flay.suse.lists.linux.kernel>
     [not found]     ` <64260000.1075941399@flay.suse.lists.linux.kernel>
     [not found]       ` <Pine.LNX.4.58.0402041639420.2086@home.osdl.org.suse.lists.linux.kernel>
     [not found]         ` <20040204165620.3d608798.akpm@osdl.org.suse.lists.linux.kernel>
     [not found]           ` <Pine.LNX.4.58.0402041719300.2086@home.osdl.org.suse.lists.linux.kernel>
     [not found]             ` <1075946211.13163.18962.camel@dyn318004bld.beaverton.ibm.com.suse.lists.linux.kernel>
     [not found]               ` <Pine.LNX.4.58.0402041800320.2086@home.osdl.org.suse.lists.linux.kernel>
     [not found]                 ` <98220000.1076051821@[10.10.2.4].suse.lists.linux.kernel>
     [not found]                   ` <1076061476.27855.1144.camel@nighthawk.suse.lists.linux.kernel>
     [not found]                     ` <5450000.1076082574@[10.10.2.4].suse.lists.linux.kernel>
     [not found]                       ` <1076088169.29478.2928.camel@nighthawk.suse.lists.linux.kernel>
     [not found]                         ` <218650000.1076097590@flay.suse.lists.linux.kernel>
     [not found]                           ` <Pine.LNX.4.58.0402061215030.30672@home.osdl.org.suse.lists.linux.kernel>
     [not found]                             ` <220850000.1076102320@flay.suse.lists.linux.kernel>
2004-02-07  3:54                               ` Andi Kleen
2004-02-07  4:49                                 ` Martin J. Bligh
2004-02-07  5:21                                   ` Andi Kleen
2004-02-07  6:37                                   ` Nick Piggin
2004-02-07  7:31                                     ` Martin J. Bligh

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=Pine.LNX.4.58.0402041719300.2086@home.osdl.org \
    --to=torvalds@osdl.org \
    --cc=akpm@osdl.org \
    --cc=kmannth@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mbligh@aracnet.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.