linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: linux-mm@kvack.org
Subject: Re: [RFC][PATCH 1/7] generic PAGE_SIZE infrastructure (v2)
Date: Mon, 28 Aug 2006 10:01:13 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0608280954100.27677@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20060828154413.E05721BD@localhost.localdomain>

On Mon, 28 Aug 2006, Dave Hansen wrote:

> +/* align addr on a size boundary - adjust address up/down if needed */
> +#define _ALIGN_UP(addr,size)    (((addr)+((size)-1))&(~((size)-1)))
> +#define _ALIGN_DOWN(addr,size)  ((addr)&(~((size)-1)))
> +
> +/* align addr on a size boundary - adjust address up if needed */
> +#define _ALIGN(addr,size)     _ALIGN_UP(addr,size)

Note that there is a generic ALIGN macro in include/linux/kernel.h plus
__ALIGNs in linux/linkage.h. Could you use that and get to some sane 
conventin for all these ALIGN functions?

> +#
> +# On PPC32 page size is 4K. For PPC64 we support either 4K or 64K software
> +# page size. When using 64K pages however, whether we are really supporting
> +# 64K pages in HW or not is irrelevant to those definitions.
> +#

I guess this is an oversight. This has nothing to do with generic and does 
not belong into mm/Kconfig

> +choice
> +	prompt "Kernel Page Size"
> +	depends on ARCH_GENERIC_PAGE_SIZE
> +config PAGE_SIZE_4KB
> +	bool "4KB"
> +	help
> +	  This lets you select the page size of the kernel.  For best 64-bit
> +	  performance, a page size of larger than 4k is recommended.  For best
> +	  32-bit compatibility on 64-bit architectures, a page size of 4KB
> +	  should be selected (although most binaries work perfectly fine with
> +	  a larger page size).
> +
> +	  4KB                For best 32-bit compatibility
> +	  8KB and up         For best performance
> +	  above 64k	     For kernel hackers only
> +
> +	  If you don't know what to do, choose 8KB (if available).
> +	  Otherwise, choose 4KB.

The above also would need to be genericized.

> +config PAGE_SIZE_8KB
> +	bool "8KB"
> +config PAGE_SIZE_16KB
> +	bool "16KB"
> +config PAGE_SIZE_64KB
> +	bool "64KB"
> +config PAGE_SIZE_512KB
> +	bool "512KB"
> +config PAGE_SIZE_4MB
> +	bool "4MB"
> +endchoice

But not all arches support this. Choices need to be restricted to what the 
arch supports. What about support for other pagesizes in the future. IA64 
could f.e.  support 128k and 256K pages sizes.

--
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>

  parent reply	other threads:[~2006-08-28 17:01 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-28 15:44 Dave Hansen
2006-08-28 15:44 ` [RFC][PATCH 3/7] sparc64 generic PAGE_SIZE Dave Hansen
2006-08-28 15:44 ` [RFC][PATCH 2/7] ia64 " Dave Hansen
2006-08-28 17:04   ` Christoph Lameter
2006-08-28 17:22     ` Dave Hansen
2006-08-28 17:32       ` Christoph Lameter
2006-08-28 17:45         ` Dave Hansen
2006-08-29  2:46   ` [RFC][PATCH 1/7] generic PAGE_SIZE infrastructure (v2) Paul Mundt
2006-08-29  3:51     ` Randy.Dunlap
2006-08-29  3:55       ` Paul Mundt
2006-08-29  4:02         ` Randy.Dunlap
2006-08-29 15:29     ` Dave Hansen
2006-08-30  0:37       ` Randy.Dunlap
2006-08-28 15:44 ` [RFC][PATCH 4/7] mips generic PAGE_SIZE Dave Hansen
2006-08-28 15:44 ` [RFC][PATCH 6/7] powerpc " Dave Hansen
2006-08-28 15:44 ` [RFC][PATCH 5/7] parisc " Dave Hansen
2006-08-28 15:44 ` [RFC][PATCH 7/7] convert the "easy" architectures to " Dave Hansen
2006-08-28 17:01 ` Christoph Lameter [this message]
2006-08-28 17:11   ` [RFC][PATCH 1/7] generic PAGE_SIZE infrastructure (v2) Dave Hansen
2006-08-28 23:32     ` Peter Chubb
2006-08-29 18:59       ` Dave Hansen
2006-08-28 20:53   ` Dave Hansen
2006-08-28 21:44     ` Christoph Lameter

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.64.0608280954100.27677@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=haveblue@us.ibm.com \
    --cc=linux-mm@kvack.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox