public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@in.ibm.com>
To: Greg KH <greg@kroah.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Linux Kernel Development <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@suse.de>
Subject: Re: [PATCH 16/16] 64bit Resource: finally enable 64bit resource sizes
Date: Fri, 16 Jun 2006 16:16:05 -0400	[thread overview]
Message-ID: <20060616201605.GA27462@in.ibm.com> (raw)
In-Reply-To: <20060616013543.GB2566@kroah.com>

On Thu, Jun 15, 2006 at 06:35:43PM -0700, Greg KH wrote:
> On Thu, Jun 15, 2006 at 11:56:43AM -0400, Vivek Goyal wrote:
> > On Thu, Jun 15, 2006 at 01:47:43PM +0200, Geert Uytterhoeven wrote:
> > > On Thu, 15 Jun 2006, Vivek Goyal wrote:
> > > > On Wed, Jun 14, 2006 at 04:35:07PM -0700, Greg KH wrote:
> > > > > On Wed, Jun 14, 2006 at 02:20:06PM +0200, Geert Uytterhoeven wrote:
> > > > > > On Mon, 12 Jun 2006, Greg KH wrote:
> > > > > > > From: Greg Kroah-Hartman <gregkh@suse.de>
> > > > > > > 
> > > > > > > Introduce the Kconfig entry and actually switch to a 64bit value, if
> > > > > > > wanted, for resource_size_t.
> > > > > > 
> > > > > > > diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> > > > > > > index 805b81f..22dcaa5 100644
> > > > > > > --- a/arch/m68k/Kconfig
> > > > > > > +++ b/arch/m68k/Kconfig
> > > > > > > @@ -368,6 +368,13 @@ config 060_WRITETHROUGH
> > > > > > >  
> > > > > > >  source "mm/Kconfig"
> > > > > > >  
> > > > > > > +config RESOURCES_32BIT
> > > > > > > +	bool "32 bit Memory and IO resources (EXPERIMENTAL)"
> > > > > > > +	depends on EXPERIMENTAL
> > > > > > > +	help
> > > > > > > +	  By default resources are 64 bit. This option allows memory and IO
> > > > > > > +	  resources to be 32 bit to optimize code size.
> > > > > > > +
> > > > > > >  endmenu
> > > > > > 
> > > > > > Why is the default 64 bit? Because 32 bit became experimental?
> > > > > 
> > > > > That's a really good question.  Vivek, why did you change it to be this
> > > > > way?  In thinking about it some more, this should be a 64bit option
> > > > > instead.
> > > > > 
> > > > 
> > > > I thought 64bit is more inclusive. Works both for 32bit and 64bit BARs.
> > > 
> > > >From a PCI viewpoint? Not all machines have PCI.
> > > 
> > > > Also exports memory more than 4G through /proc/iomem without selecting
> > > > an additional option in config file. The flip side is that it introduces
> > > > little memory overhead. I thought most of the users should be ok with this
> > > > increased memory usage and those who are particular, they can choose
> > > > RESOURCES_32BIT.
> > > 
> > > Not all 32 bit platforms support more than 4 GiB of memory, so it's of no use
> > > to waste memory on 64 bit resources.
> > > 
> > 
> > Hmm.. That makes sense. I will rework the patch.
> 
> Thanks, just rework the last one.
> 
> And it looks like you can add just one entry to mm/Kconfig instead of
> touching every arch's Kconfig file.

Greg, Please find attached the reworked-patch. I have gotten rid of
CONFIG_RESOURCES_32BIT and instead introduced CONFIG_RESOURCES_64BIT in 
arch intenepndent file mm/Kconfig.

This patch assumes that 64bit kernels will define CONFIG_64BIT. All the
architectures seems to be adhering to this but can't find CONFIG_64BIT for 
sh64. Don't know much about this arch.



o Introuces CONFIG_RESOURCES_64BIT Kconfig option.

o This option is available only for 32bit platforms/kernels (!CONFIG_64BIT),
  as for 64bit kernels, resources have to be 64 bits and they already
  are.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
---

 linux-2.6.17-rc6-1M-vivek/arch/i386/Kconfig     |    1 +
 linux-2.6.17-rc6-1M-vivek/include/linux/types.h |    7 ++++++-
 linux-2.6.17-rc6-1M-vivek/mm/Kconfig            |    7 +++++++
 3 files changed, 14 insertions(+), 1 deletion(-)

diff -puN mm/Kconfig~64bit-resources-modify-kconfig-options mm/Kconfig
--- linux-2.6.17-rc6-1M/mm/Kconfig~64bit-resources-modify-kconfig-options	2006-06-16 14:40:15.000000000 -0400
+++ linux-2.6.17-rc6-1M-vivek/mm/Kconfig	2006-06-16 14:51:31.000000000 -0400
@@ -145,3 +145,10 @@ config MIGRATION
 	  while the virtual addresses are not changed. This is useful for
 	  example on NUMA systems to put pages nearer to the processors accessing
 	  the page.
+
+config RESOURCES_64BIT
+	bool "64 bit Memory and IO resources (EXPERIMENTAL)"
+	depends on (EXPERIMENTAL && !64BIT)
+	default n
+	help
+	  This option allows memory and IO resources to be 64 bit.
diff -puN include/linux/types.h~64bit-resources-modify-kconfig-options include/linux/types.h
--- linux-2.6.17-rc6-1M/include/linux/types.h~64bit-resources-modify-kconfig-options	2006-06-16 14:40:15.000000000 -0400
+++ linux-2.6.17-rc6-1M-vivek/include/linux/types.h	2006-06-16 14:49:28.000000000 -0400
@@ -179,7 +179,12 @@ typedef __u64 __bitwise __be64;
 #ifdef __KERNEL__
 typedef unsigned __bitwise__ gfp_t;
 
-typedef unsigned long resource_size_t;
+#if defined(CONFIG_RESOURCES_64BIT) || defined(CONFIG_64BIT)
+typedef u64 resource_size_t;
+#else
+typedef u32 resource_size_t;
+#endif
+
 #endif
 
 struct ustat {
diff -puN arch/i386/Kconfig~64bit-resources-modify-kconfig-options arch/i386/Kconfig
--- linux-2.6.17-rc6-1M/arch/i386/Kconfig~64bit-resources-modify-kconfig-options	2006-06-16 14:40:15.000000000 -0400
+++ linux-2.6.17-rc6-1M-vivek/arch/i386/Kconfig	2006-06-16 14:40:15.000000000 -0400
@@ -511,6 +511,7 @@ config X86_PAE
 	bool
 	depends on HIGHMEM64G
 	default y
+	select RESOURCES_64BIT
 
 # Common NUMA Features
 config NUMA
_

  reply	other threads:[~2006-06-16 20:16 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-13  0:30 Reworked 64bit resource patches Greg KH
2006-06-13  0:31 ` [PATCH 01/16] 64bit resource: C99 changes for struct resource declarations Greg KH
2006-06-13  0:31   ` [PATCH 02/16] 64bit resource: fix up printks for resources in sound drivers Greg KH
2006-06-13  0:31     ` [PATCH 03/16] 64bit resource: fix up printks for resources in networks drivers Greg KH
2006-06-13  0:31       ` [PATCH 04/16] 64bit resource: fix up printks for resources in pci core and hotplug drivers Greg KH
2006-06-13  0:31         ` [PATCH 05/16] 64bit resource: fix up printks for resources in mtd drivers Greg KH
2006-06-13  0:31           ` [PATCH 06/16] 64bit resource: fix up printks for resources in ide drivers Greg KH
2006-06-13  0:31             ` [PATCH 07/16] 64bit resource: fix up printks for resources in video drivers Greg KH
2006-06-13  0:31               ` [PATCH 08/16] 64bit resource: fix up printks for resources in pcmcia drivers Greg KH
2006-06-13  0:31                 ` [PATCH 09/16] 64bit resource: fix up printks for resources in arch and core code Greg KH
2006-06-13  0:31                   ` [PATCH 10/16] 64bit resource: fix up printks for resources in misc drivers Greg KH
2006-06-13  0:31                     ` [PATCH 11/16] 64bit resource: introduce resource_size_t for the start and end of struct resource Greg KH
2006-06-13  0:31                       ` [PATCH 12/16] 64bit resource: change resource core to use resource_size_t Greg KH
2006-06-13  0:31                         ` [PATCH 15/16] 64bit resource: change pci core and arch code " Greg KH
2006-06-13  0:31                           ` [PATCH 14/16] 64bit resource: change pnp core " Greg KH
2006-06-13  0:31                             ` [PATCH 15/16] 64bit Resource: convert a few remaining drivers to use resource_size_t where needed Greg KH
2006-06-13  0:31                               ` [PATCH 16/16] 64bit Resource: finally enable 64bit resource sizes Greg KH
2006-06-14 12:20                                 ` Geert Uytterhoeven
2006-06-14 23:35                                   ` Greg KH
2006-06-15  4:28                                     ` Vivek Goyal
2006-06-15 11:47                                       ` Geert Uytterhoeven
2006-06-15 15:56                                         ` Vivek Goyal
2006-06-16  1:35                                           ` Greg KH
2006-06-16 20:16                                             ` Vivek Goyal [this message]
2006-06-17 14:34                                               ` Geert Uytterhoeven
2006-06-18 18:05                                                 ` Vivek Goyal
2006-06-19  8:05                                                   ` Geert Uytterhoeven
2006-06-19 10:17                                                     ` Roman Zippel
2006-06-19 11:08                                                       ` Geert Uytterhoeven
2006-06-19 11:34                                                         ` Roman Zippel
2006-06-19 11:45                                                           ` Geert Uytterhoeven
2006-06-19 13:57                                                       ` Vivek Goyal
2006-06-13 16:24       ` [PATCH 03/16] 64bit resource: fix up printks for resources in networks drivers Jesse Brandeburg
2006-06-13 16:30         ` Greg KH

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=20060616201605.GA27462@in.ibm.com \
    --to=vgoyal@in.ibm.com \
    --cc=geert@linux-m68k.org \
    --cc=greg@kroah.com \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.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