LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [GIT]: Make LMB code sharable with sparc64.
@ 2008-02-13  8:41 David Miller
  2008-02-13  8:57 ` Sam Ravnborg
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: David Miller @ 2008-02-13  8:41 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: sparclinux, linux-kernel


As I mentioned to a few ppc folks at LCA08 I plan to use
the LMB code from powerpc as a basis for NUMA support on
sparc64.

There are two changes.

1) Move arch/powerpc/mm/lmb.c to lib/lmb.c, put the main
   interface bits in include/linux/lmb.h, put arch-specific
   bits in asm/lmb.h and add Kconfig machinery to build this
   stuff on sparc64.

2) Fix a bug in lmb_alloc() wherein the size was not aligned
   so we could easily run out of reserve blocks because
   every aligned allocation would create a tiny hole, and
   secondly the lmb_reserve() call there did not have it's
   return value checked.

Powerpc folks, if there are no objections please pull, thanks!

The following changes since commit 96b5a46e2a72dc1829370c87053e0cd558d58bc0:
  Linus Torvalds (1):
        WMI: initialize wmi_blocks.list even if ACPI is disabled

are available in the git repository at:

  master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6.git master

David S. Miller (2):
      [LIB]: Make PowerPC LMB code generic so sparc64 can use it too.
      [LMB]: Fix bug in __lmb_alloc_base().

 arch/powerpc/Kconfig                    |    3 +
 arch/powerpc/kernel/btext.c             |    2 +-
 arch/powerpc/kernel/crash.c             |    2 +-
 arch/powerpc/kernel/crash_dump.c        |    2 +-
 arch/powerpc/kernel/machine_kexec.c     |    2 +-
 arch/powerpc/kernel/prom.c              |    2 +-
 arch/powerpc/kernel/rtas.c              |    2 +-
 arch/powerpc/kernel/setup-common.c      |    2 +-
 arch/powerpc/kernel/setup_64.c          |    2 +-
 arch/powerpc/kernel/vdso.c              |    2 +-
 arch/powerpc/mm/Makefile                |    2 +-
 arch/powerpc/mm/hash_utils_64.c         |    2 +-
 arch/powerpc/mm/init_32.c               |    2 +-
 arch/powerpc/mm/init_64.c               |    2 +-
 arch/powerpc/mm/mem.c                   |    2 +-
 arch/powerpc/mm/numa.c                  |    2 +-
 arch/powerpc/mm/ppc_mmu_32.c            |    2 +-
 arch/powerpc/mm/stab.c                  |    2 +-
 arch/powerpc/platforms/cell/iommu.c     |    2 +-
 arch/powerpc/platforms/maple/setup.c    |    2 +-
 arch/powerpc/platforms/powermac/setup.c |    2 +-
 arch/powerpc/platforms/ps3/htab.c       |    2 +-
 arch/powerpc/platforms/ps3/mm.c         |    2 +-
 arch/powerpc/platforms/ps3/os-area.c    |    2 +-
 arch/powerpc/sysdev/dart_iommu.c        |    2 +-
 arch/sparc64/Kconfig                    |    3 +
 include/asm-powerpc/abs_addr.h          |    2 +-
 include/asm-powerpc/lmb.h               |   82 +++---------------------------
 include/asm-sparc64/lmb.h               |   10 ++++
 include/linux/lmb.h                     |   83 +++++++++++++++++++++++++++++++
 lib/Makefile                            |    2 +
 {arch/powerpc/mm => lib}/lmb.c          |   39 ++++++++-------
 32 files changed, 155 insertions(+), 117 deletions(-)
 create mode 100644 include/asm-sparc64/lmb.h
 create mode 100644 include/linux/lmb.h
 rename {arch/powerpc/mm => lib}/lmb.c (92%)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT]: Make LMB code sharable with sparc64.
  2008-02-13  8:41 [GIT]: Make LMB code sharable with sparc64 David Miller
@ 2008-02-13  8:57 ` Sam Ravnborg
  2008-02-13  9:05   ` David Miller
  2008-02-13 12:12 ` Michael Ellerman
  2008-02-13 13:12 ` Kumar Gala
  2 siblings, 1 reply; 6+ messages in thread
From: Sam Ravnborg @ 2008-02-13  8:57 UTC (permalink / raw)
  To: David Miller; +Cc: linuxppc-dev, sparclinux, linux-kernel

On Wed, Feb 13, 2008 at 12:41:20AM -0800, David Miller wrote:
> 
> As I mentioned to a few ppc folks at LCA08 I plan to use
> the LMB code from powerpc as a basis for NUMA support on
> sparc64.
> 
> There are two changes.
> 
> 1) Move arch/powerpc/mm/lmb.c to lib/lmb.c, put the main
>    interface bits in include/linux/lmb.h, put arch-specific
>    bits in asm/lmb.h and add Kconfig machinery to build this
>    stuff on sparc64.
> 
> 2) Fix a bug in lmb_alloc() wherein the size was not aligned
>    so we could easily run out of reserve blocks because
>    every aligned allocation would create a tiny hole, and
>    secondly the lmb_reserve() call there did not have it's
>    return value checked.
> 
> Powerpc folks, if there are no objections please pull, thanks!
> 
> The following changes since commit 96b5a46e2a72dc1829370c87053e0cd558d58bc0:
>   Linus Torvalds (1):
>         WMI: initialize wmi_blocks.list even if ACPI is disabled
> 
> are available in the git repository at:
> 
>   master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6.git master

Review had been easier if the patch was inlined.
Took a quick look at the small Kconfig bits.

>From arch/sparc64/Kconfig:
+config LMB
+       def_bool y
+

Can we plase have this changed to use:

 config SPARC64
+	select HAVE_LMB

And then in lib/Kconfig have
+config HAVE_LMB
+	bool

So we avoid creating a new variable each time we introdce LMB support.
You would need to update powerpc Kconfig too of course.

This way of doing it is documented in:
Documenation/kbuild/kconfig.language.txt

Thanks,
	Sam

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT]: Make LMB code sharable with sparc64.
  2008-02-13  8:57 ` Sam Ravnborg
@ 2008-02-13  9:05   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2008-02-13  9:05 UTC (permalink / raw)
  To: sam; +Cc: linuxppc-dev, sparclinux, linux-kernel

From: Sam Ravnborg <sam@ravnborg.org>
Date: Wed, 13 Feb 2008 09:57:35 +0100

> Review had been easier if the patch was inlined.

Sorry :)

> Can we plase have this changed to use:
> 
>  config SPARC64
> +	select HAVE_LMB
> 
> And then in lib/Kconfig have
> +config HAVE_LMB
> +	bool
> 
> So we avoid creating a new variable each time we introdce LMB support.
> You would need to update powerpc Kconfig too of course.

Sure, I'll rework this in the next day or so to do things
that way.

Thanks for the review.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT]: Make LMB code sharable with sparc64.
  2008-02-13  8:41 [GIT]: Make LMB code sharable with sparc64 David Miller
  2008-02-13  8:57 ` Sam Ravnborg
@ 2008-02-13 12:12 ` Michael Ellerman
  2008-02-13 13:12 ` Kumar Gala
  2 siblings, 0 replies; 6+ messages in thread
From: Michael Ellerman @ 2008-02-13 12:12 UTC (permalink / raw)
  To: David Miller; +Cc: linuxppc-dev, sparclinux, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1387 bytes --]

On Wed, 2008-02-13 at 00:41 -0800, David Miller wrote:
> As I mentioned to a few ppc folks at LCA08 I plan to use
> the LMB code from powerpc as a basis for NUMA support on
> sparc64.
> 
> There are two changes.
> 
> 1) Move arch/powerpc/mm/lmb.c to lib/lmb.c, put the main
>    interface bits in include/linux/lmb.h, put arch-specific
>    bits in asm/lmb.h and add Kconfig machinery to build this
>    stuff on sparc64.
> 
> 2) Fix a bug in lmb_alloc() wherein the size was not aligned
>    so we could easily run out of reserve blocks because
>    every aligned allocation would create a tiny hole, and
>    secondly the lmb_reserve() call there did not have it's
>    return value checked.
> 
> Powerpc folks, if there are no objections please pull, thanks!

Looks like there are a few places (in arch/powerpc) that were getting
asm/prom.h via asm/lmb.h, I'll send a patch in the morning.

cheers

arch/powerpc/mm/numa.c:124: error: implicit declaration of function 'of_find_node_by_type'

arch/powerpc/platforms/ps3/os-area.c:215: error: variable 'property_rtc_diff' has initializer but incomplete type

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT]: Make LMB code sharable with sparc64.
  2008-02-13  8:41 [GIT]: Make LMB code sharable with sparc64 David Miller
  2008-02-13  8:57 ` Sam Ravnborg
  2008-02-13 12:12 ` Michael Ellerman
@ 2008-02-13 13:12 ` Kumar Gala
  2008-02-13 22:24   ` David Miller
  2 siblings, 1 reply; 6+ messages in thread
From: Kumar Gala @ 2008-02-13 13:12 UTC (permalink / raw)
  To: David Miller; +Cc: linuxppc-dev, sparclinux, linux-kernel


On Feb 13, 2008, at 2:41 AM, David Miller wrote:

>
> As I mentioned to a few ppc folks at LCA08 I plan to use
> the LMB code from powerpc as a basis for NUMA support on
> sparc64.
>
> There are two changes.
>
> 1) Move arch/powerpc/mm/lmb.c to lib/lmb.c, put the main
>   interface bits in include/linux/lmb.h, put arch-specific
>   bits in asm/lmb.h and add Kconfig machinery to build this
>   stuff on sparc64.
>
> 2) Fix a bug in lmb_alloc() wherein the size was not aligned
>   so we could easily run out of reserve blocks because
>   every aligned allocation would create a tiny hole, and
>   secondly the lmb_reserve() call there did not have it's
>   return value checked.
>
> Powerpc folks, if there are no objections please pull, thanks!
>
> The following changes since commit  
> 96b5a46e2a72dc1829370c87053e0cd558d58bc0:
>  Linus Torvalds (1):
>        WMI: initialize wmi_blocks.list even if ACPI is disabled
>
> are available in the git repository at:
>
>  master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6.git master
>
> David S. Miller (2):
>      [LIB]: Make PowerPC LMB code generic so sparc64 can use it too.
>      [LMB]: Fix bug in __lmb_alloc_base().

Does sparc have the concept of a phys_addr_t?  We are in the process  
of expanding the lmb support to deal with 36-bit physical addresses on  
32-bit machines.

- k

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT]: Make LMB code sharable with sparc64.
  2008-02-13 13:12 ` Kumar Gala
@ 2008-02-13 22:24   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2008-02-13 22:24 UTC (permalink / raw)
  To: galak; +Cc: linuxppc-dev, sparclinux, linux-kernel

From: Kumar Gala <galak@kernel.crashing.org>
Date: Wed, 13 Feb 2008 07:12:26 -0600

> Does sparc have the concept of a phys_addr_t?  We are in the process  
> of expanding the lmb support to deal with 36-bit physical addresses on  
> 32-bit machines.

On sparc64, where I intend to use this, unsigned long's are 64-bit.
If you use some phys_addr_t type instead to help ppc32 along, that
would be perfectly fine with me.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-02-13 22:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-13  8:41 [GIT]: Make LMB code sharable with sparc64 David Miller
2008-02-13  8:57 ` Sam Ravnborg
2008-02-13  9:05   ` David Miller
2008-02-13 12:12 ` Michael Ellerman
2008-02-13 13:12 ` Kumar Gala
2008-02-13 22:24   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).