All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bill Davidsen <davidsen@tmr.com>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Swap maximum size documented ?
Date: Wed, 01 Jun 2005 15:47:05 -0400	[thread overview]
Message-ID: <429E10B9.601@tmr.com> (raw)
In-Reply-To: <20050601192934.GP20782@holomorphy.com>

William Lee Irwin III wrote:

>William Lee Irwin III wrote:
>  
>
>>>Without CONFIG_HIGHMEM64G=y you have:
>>>32 swapfiles, max swapfile size of 64GB.
>>>With CONFIG_HIGHMEM64G=y you have:
>>>32 swapfiles, max swapfile size of 512GB.
>>>      
>>>
>
>On Wed, Jun 01, 2005 at 03:10:59PM -0400, Bill Davidsen wrote:
>  
>
>>Does this apply to mmap as well? I have an application which currently 
>>uses 9TB of data, and one thought to boost performance was to mmap the 
>>data. Unfortunately, I know 16TB isn't going to be enough for more than 
>>a few more years :-(
>>    
>>
>
>This only applies to swapping on ia32/i386.
>
>mmap() is limited only by file offsets, which are fully 32-bit on
>32-bit systems. remap_file_pages() is limited by PTE_FILE_MAX_BITS,
>which is fully 32-bit with CONFIG_HIGHMEM64G=y on i386 but only 29 bit
>without it on i386. In general checking for PTE_FILE_MAX_BITS on the
>relevant architecture should answer your question for remap_file_pages(),
>and BITS_PER_LONG for mmap(). The swap limits for other architectures
>will also differ and you generally have to look at the swp_entry/pte
>encoding/decoding macros to decipher what the precise limits are
>(though a quick hacky C program can help discover them for you).
>Generally you get the filesizes by PAGE_SIZE << X_FILE_OFFSET_BITS.
>
>It is in principle possible to sweep the kernel to allow larger file
>offsets on 32-bit systems (pgoff_t is something of a preparation for
>that), but I wouldn't advise trying it without rather strong kernel-fu
>and much willingness to debug it by one's self, and that with a common
>failure mode of fs data corruption. Widening swp_entry_t is slightly
>harder as the ptes have limited capacity so you have to somehow allocate
>extra data in a deadlock-free manner, but one also has less disruptive
>failure modes. I suspect you're not itching to implement these things.
>
>One thing to keep in mind is that these are only permissible filesizes.
>Virtualspace must be managed properly for windowing where it's limited
>and to prevent pagetable proliferation where it's not.
>

Thank you for taking the time to give me such a complete reply (I saved 
it to prevent asking similar in the future). Hopefully I will be able to 
leave the problem to someone else by then.

-- 
bill davidsen <davidsen@tmr.com>
  CTO TMR Associates, Inc
  Doing interesting things with small computers since 1979


  reply	other threads:[~2005-06-01 19:49 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-01 12:25 Swap maximum size documented ? david.balazic
2005-06-01 12:34 ` William Lee Irwin III
2005-06-01 12:40 ` Jakob Oestergaard
2005-06-01 12:58   ` Arjan van de Ven
2005-06-01 13:02     ` David Balažic
2005-06-01 13:40       ` William Lee Irwin III
2005-06-01 19:10         ` Bill Davidsen
2005-06-01 19:29           ` William Lee Irwin III
2005-06-01 19:47             ` Bill Davidsen [this message]
2005-06-01 20:08               ` William Lee Irwin III
2005-06-01 22:15               ` cutaway
2005-06-01 23:57                 ` Bill Davidsen
2005-06-01 20:43           ` Lennart Sorensen
2005-06-01 20:54             ` William Lee Irwin III
2005-06-01 21:05               ` Lennart Sorensen
2005-06-01 23:49                 ` Bill Davidsen

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=429E10B9.601@tmr.com \
    --to=davidsen@tmr.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wli@holomorphy.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.