All of lore.kernel.org
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: "David S. Miller" <davem@redhat.com>,
	pj@sgi.com, linux-kernel@vger.kernel.org
Subject: Re: Does io_remap_page_range() take 5 or 6 args?
Date: Wed, 18 Aug 2004 15:00:01 -0700	[thread overview]
Message-ID: <20040818220001.GN11200@holomorphy.com> (raw)
In-Reply-To: <20040818214026.GL11200@holomorphy.com>

On Wed, Aug 18, 2004 at 02:30:29PM -0700, David S. Miller wrote:
>> Does not work on a system who has more physical address bits
>> than 32 + PAGE_SHIFT
>> Sparc32 does not fall into this category... but some other
>> might.

On Wed, Aug 18, 2004 at 02:40:26PM -0700, William Lee Irwin III wrote:
> All extant systems of this category I'm aware of are 32-bit kernels on
> 64-bit machines, which we don't really support. Also, the assumption
> that physical addresses are bounded by 1ULL << (BITS_PER_LONG + PAGE_SHIFT)
> is made broadly elsewhere, particularly in pfn_to_page() and the like.
> Making this assumption in remap_page_range() and io_remap_page_range()
> would save the overhead of passing additional arguments and/or passing
> 64-bit arguments on 32-bit machines. Using pgoff_t for pfn's may prove
> useful for such systems, but it's highly doubtful the kernel will ever
> be made clean for such or that they'll ever be brought to a usable state.

Or, if not pgoff_t, introduce a pfn_t for this purpose, an unsigned
arithmetic type of architecture-dependent width (such systems may not
want 64-bit page indices and the like for various reasons). But
exhibiting a system with the need for such is yet to be done, and in
fact, even with a 32B struct page, 16TB RAM (the minimum required to
trigger more physical address bits >= BITS_PER_LONG + PAGE_SHIFT) has
a 128GB mem_map[] with 4KB pages, an 8GB mem_map[] with 64KB pages,
and so will have far, far deeper support issues than pfn overflows.
Even supposing a kernel could be made to boot and the like, the massive
internal fragmentation from using a large enough emulated PAGE_SIZE to
get mem_map[] to fit within virtualspace will surely render such a
machine completely useless, likely to the point of being unable to run
userspace, or panicking much earlier from boot-time allocation failures.

-- wli

  reply	other threads:[~2004-08-18 22:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-18 20:33 Does io_remap_page_range() take 5 or 6 args? Paul Jackson
2004-08-18 20:53 ` William Lee Irwin III
2004-08-18 20:55   ` David S. Miller
2004-08-18 20:56   ` David S. Miller
2004-08-18 21:05     ` William Lee Irwin III
2004-08-18 21:30       ` David S. Miller
2004-08-18 21:40         ` William Lee Irwin III
2004-08-18 22:00           ` William Lee Irwin III [this message]
2004-08-18 22:59             ` William Lee Irwin III
2004-08-18 23:16               ` David S. Miller
2004-08-18 23:33                 ` William Lee Irwin III
2004-08-19  2:38                   ` William Lee Irwin III
2004-08-19  2:43                     ` David S. Miller
2004-08-19  2:51                       ` William Lee Irwin III
2004-08-18 21:36       ` Richard B. Johnson
2004-08-18 20:54 ` David S. Miller
2004-08-18 21:15   ` Paul Jackson
2004-08-18 21:35     ` William Lee Irwin III

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=20040818220001.GN11200@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=davem@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pj@sgi.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.