All of lore.kernel.org
 help / color / mirror / Atom feed
* [git pull] ia64 changes
@ 2008-04-18 16:34 Luck, Tony
  2008-04-22 23:36 ` Luck, Tony
                   ` (93 more replies)
  0 siblings, 94 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-18 16:34 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 Documentation/kernel-parameters.txt |    4 +
 arch/ia64/Kconfig                   |   14 +
 arch/ia64/hp/common/sba_iommu.c     |   56 ++-
 arch/ia64/ia32/elfcore32.h          |   14 +-
 arch/ia64/ia32/sys_ia32.c           |  649 ++++++++++++++++++-
 arch/ia64/kernel/acpi.c             |    4 +-
 arch/ia64/kernel/asm-offsets.c      |   13 +
 arch/ia64/kernel/crash.c            |   56 +-
 arch/ia64/kernel/efi.c              |   46 ++
 arch/ia64/kernel/entry.S            |   65 ++
 arch/ia64/kernel/fsys.S             |   88 ++-
 arch/ia64/kernel/head.S             |   20 +
 arch/ia64/kernel/irq_ia64.c         |    2 +-
 arch/ia64/kernel/ivt.S              |   69 ++
 arch/ia64/kernel/kprobes.c          |  133 +++-
 arch/ia64/kernel/mca.c              |   60 ++-
 arch/ia64/kernel/mca_asm.S          |    5 +
 arch/ia64/kernel/minstate.h         |   14 +
 arch/ia64/kernel/numa.c             |    2 +-
 arch/ia64/kernel/patch.c            |    8 +-
 arch/ia64/kernel/perfmon.c          |    4 +-
 arch/ia64/kernel/process.c          |   30 -
 arch/ia64/kernel/ptrace.c           | 1217 +++++++++++++++++++++++++---------
 arch/ia64/kernel/setup.c            |   31 +-
 arch/ia64/kernel/smp.c              |   82 +++
 arch/ia64/kernel/smpboot.c          |    2 +-
 arch/ia64/kernel/time.c             |   78 +++
 arch/ia64/kernel/unaligned.c        |    3 +-
 arch/ia64/mm/contig.c               |    4 +-
 arch/ia64/mm/discontig.c            |   17 +-
 arch/ia64/mm/init.c                 |   14 +-
 arch/ia64/mm/numa.c                 |    4 +-
 arch/ia64/mm/tlb.c                  |  357 ++++++++++-
 arch/ia64/sn/kernel/xpc_main.c      |    8 +-
 arch/ia64/sn/kernel/xpc_partition.c |    2 +-
 include/asm-ia64/acpi.h             |   33 +
 include/asm-ia64/cputime.h          |  104 +++
 include/asm-ia64/elf.h              |   31 +-
 include/asm-ia64/kprobes.h          |    7 +-
 include/asm-ia64/kregs.h            |    3 +
 include/asm-ia64/meminit.h          |    3 +-
 include/asm-ia64/numa.h             |    2 +
 include/asm-ia64/pal.h              |   72 ++-
 include/asm-ia64/pgtable.h          |    2 +-
 include/asm-ia64/sal.h              |   21 +
 include/asm-ia64/smp.h              |    3 +
 include/asm-ia64/system.h           |   12 +
 include/asm-ia64/thread_info.h      |   14 +
 include/asm-ia64/tlb.h              |   26 +
 include/asm-ia64/tlbflush.h         |    1 +
 50 files changed, 2965 insertions(+), 544 deletions(-)

Alan D. Brunelle (1):
      [IA64] Fix unlock ordering in smp_callin

Christoph Lameter (1):
      [IA64] Untangle sync_icache_dcache() page size determination

FUJITA Tomonori (1):
      [IA64] make IOMMU respect the segment boundary limits

Fenghua Yu (2):
      [IA64] Multiple outstanding ptc.g instruction support
      [IA64] Kernel parameter for max number of concurrent global TLB purges

Hidetoshi Seto (4):
      [IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting)
      [IA64] cleanup and improve fsys_gettimeofday
      [IA64] kdump: add kdump_on_fatal_mca
      [IA64] kdump: crash.c coding style fix

Johannes Weiner (1):
      [IA64] remove redundant display of free swap space in show_mem()

KOSAKI Motohiro (1):
      [IA64] pgd_offset() constfication.

Li Zefan (1):
      [IA64] use goto to jump out do/while_each_thread

Masami Hiramatsu (1):
      [IA64] kprobes: kprobe-booster for ia64

Pavel Emelyanov (1):
      [IA64] fix getpid and set_tid_address fast system calls for pid namespaces

Robert P. J. Day (1):
      [IA64] Replace explicit jiffies tests with time_* macros.

Russ Anderson (1):
      [IA64] Itanium Spec updates

S.Caglar Onur (1):
      [IA64] arch/ia64/kernel/: use time_* macros

Shaohua Li (4):
      [IA64] regset: 64-bit support
      [IA64] regset: 32-bit support
      [IA64] use CORE_DUMP_USE_REGSET
      [IA64] remove duplicate code for register access

Takao Indoh (1):
      [IA64] kdump: Add crash_save_vmcoreinfo for INIT

Xiantao Zhang (2):
      [IA64] Add API for allocating Dynamic TR resource.
      [IA64] Implement smp_call_function_mask for ia64

Zoltan Menyhart (1):
      [IA64] Fix NUMA configuration issue

holt@sgi.com (2):
      [IA64] Correct pernodesize calculation.
      [IA64] Minimize per_cpu reservations.




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
@ 2008-04-22 23:36 ` Luck, Tony
  2008-04-29 23:36 ` Luck, Tony
                   ` (92 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-22 23:36 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig                                  |   11 -
 arch/ia64/kernel/crash.c                           |    4 +-
 arch/ia64/kernel/entry.S                           |    1 +
 arch/ia64/kernel/mca.c                             |   77 ++--
 arch/ia64/kernel/perfmon.c                         |    4 +-
 arch/ia64/sn/kernel/Makefile                       |    7 +-
 arch/ia64/sn/kernel/huberror.c                     |    4 +-
 arch/ia64/sn/pci/tioce_provider.c                  |    6 +-
 drivers/misc/Kconfig                               |   12 +
 drivers/misc/Makefile                              |    1 +
 drivers/misc/sgi-xp/Makefile                       |   11 +
 {include/asm-ia64/sn => drivers/misc/sgi-xp}/xp.h  |   94 ++---
 .../sn/kernel => drivers/misc/sgi-xp}/xp_main.c    |  141 +++---
 .../sn/kernel => drivers/misc/sgi-xp}/xp_nofault.S |    3 +-
 {include/asm-ia64/sn => drivers/misc/sgi-xp}/xpc.h |  500 ++++++++-----------
 .../kernel => drivers/misc/sgi-xp}/xpc_channel.c   |  528 ++++++++------------
 .../sn/kernel => drivers/misc/sgi-xp}/xpc_main.c   |  432 ++++++----------
 .../kernel => drivers/misc/sgi-xp}/xpc_partition.c |  409 +++++++---------
 .../ia64/sn/kernel => drivers/misc/sgi-xp}/xpnet.c |  139 ++----
 include/asm-ia64/mca.h                             |    1 +
 20 files changed, 965 insertions(+), 1420 deletions(-)
 create mode 100644 drivers/misc/sgi-xp/Makefile
 rename {include/asm-ia64/sn => drivers/misc/sgi-xp}/xp.h (91%)
 rename {arch/ia64/sn/kernel => drivers/misc/sgi-xp}/xp_main.c (69%)
 rename {arch/ia64/sn/kernel => drivers/misc/sgi-xp}/xp_nofault.S (95%)
 rename {include/asm-ia64/sn => drivers/misc/sgi-xp}/xpc.h (75%)
 rename {arch/ia64/sn/kernel => drivers/misc/sgi-xp}/xpc_channel.c (87%)
 rename {arch/ia64/sn/kernel => drivers/misc/sgi-xp}/xpc_main.c (82%)
 rename {arch/ia64/sn/kernel => drivers/misc/sgi-xp}/xpc_partition.c (79%)
 rename {arch/ia64/sn/kernel => drivers/misc/sgi-xp}/xpnet.c (89%)

Dean Nelson (4):
      [IA64] move XP and XPC to drivers/misc/sgi-xp
      [IA64] run some drivers/misc/sgi-xp through scripts/Lindent
      [IA64] run rest drivers/misc/sgi-xp through scripts/Lindent
      [IA64] run drivers/misc/sgi-xp through scripts/checkpatch.pl

Hidetoshi Seto (3):
      [IA64] disable interrupts on exit of ia64_trace_syscall
      [IA64] do notify DIE_MCA_MONARCH_PROCESS for each monarchs
      [IA64] simplify notify hooks in mca.c

Jeff Garzik (1):
      [IA64] minor irq handler cleanups




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
@ 2008-04-24 23:51 ` Luck, Tony
  2008-04-29 23:36 ` Luck, Tony
                   ` (92 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-24 23:51 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, linux-ia64, Mike Travis, Russ Anderson

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below. Both changes touch kernel/sched.c
to fix regressions ... one for a build problem, the other for a boot
problem.

Thanks!

-Tony

 kernel/sched.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

Mike Travis (1):
      Build fix for CONFIG_NUMA=y && CONFIG_SMP=n

Russ Anderson (1):
      [IA64] fix bootmem regression on Altix




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

* [git pull] ia64 changes
@ 2008-04-24 23:51 ` Luck, Tony
  0 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-24 23:51 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, linux-ia64, Mike Travis, Russ Anderson

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below. Both changes touch kernel/sched.c
to fix regressions ... one for a build problem, the other for a boot
problem.

Thanks!

-Tony

 kernel/sched.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

Mike Travis (1):
      Build fix for CONFIG_NUMA=y && CONFIG_SMP=n

Russ Anderson (1):
      [IA64] fix bootmem regression on Altix




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

* Re: [git pull] ia64 changes
  2008-04-24 23:51 ` Luck, Tony
@ 2008-04-25  0:16   ` Adrian Bunk
  -1 siblings, 0 replies; 110+ messages in thread
From: Adrian Bunk @ 2008-04-25  0:16 UTC (permalink / raw)
  To: Luck, Tony; +Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

On Thu, Apr 24, 2008 at 04:51:01PM -0700, Luck, Tony wrote:
>...
> Mike Travis (1):
>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
>...

Why is this an allowed configuration on ia64?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


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

* Re: [git pull] ia64 changes
@ 2008-04-25  0:16   ` Adrian Bunk
  0 siblings, 0 replies; 110+ messages in thread
From: Adrian Bunk @ 2008-04-25  0:16 UTC (permalink / raw)
  To: Luck, Tony; +Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

On Thu, Apr 24, 2008 at 04:51:01PM -0700, Luck, Tony wrote:
>...
> Mike Travis (1):
>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
>...

Why is this an allowed configuration on ia64?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


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

* RE: [git pull] ia64 changes
  2008-04-25  0:16   ` Adrian Bunk
@ 2008-04-25  0:25     ` Luck, Tony
  -1 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-25  0:25 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 632 bytes --]

>>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
>>...
>
> Why is this an allowed configuration on ia64?

It shows up in allnoconfig ... probably because some
bit of Kconfig forces NUMA=y.

I can't imagine that it is ever a useful combination ... except to
find places in the code where people have:

#if defined(CONFIG_SMP)
 ...
#else

#if defined(CONFIG_NUMA) // !!! SMP=n, NUMA code???
  ...
#endif
#endif


Which is what happened, and is being fixed, here.

-Tony
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

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

* RE: [git pull] ia64 changes
@ 2008-04-25  0:25     ` Luck, Tony
  0 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-25  0:25 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

>>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
>>...
>
> Why is this an allowed configuration on ia64?

It shows up in allnoconfig ... probably because some
bit of Kconfig forces NUMA=y.

I can't imagine that it is ever a useful combination ... except to
find places in the code where people have:

#if defined(CONFIG_SMP)
 ...
#else

#if defined(CONFIG_NUMA) // !!! SMP=n, NUMA code???
  ...
#endif
#endif


Which is what happened, and is being fixed, here.

-Tony
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þ&ºãø§¶\x17›¡Ü¨}©ž²Æ zÚ&j:+v‰¨þø\x1e¯ù\x1e®w¥þŠà2ŠÞ™¨è­Ú&¢)ß¡«a¶Úÿÿûàz¿äz¹Þ—ú+ƒùšŽŠÝ¢jÿŠwèþ^[f

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

* [2.6 patch] ia64: let NUMA select SMP
  2008-04-25  0:25     ` Luck, Tony
@ 2008-04-25  0:41       ` Adrian Bunk
  -1 siblings, 0 replies; 110+ messages in thread
From: Adrian Bunk @ 2008-04-25  0:41 UTC (permalink / raw)
  To: Luck, Tony; +Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

On Thu, Apr 24, 2008 at 05:25:06PM -0700, Luck, Tony wrote:
> >>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
> >>...
> >
> > Why is this an allowed configuration on ia64?
> 
> It shows up in allnoconfig ... probably because some
> bit of Kconfig forces NUMA=y.

allnoconfig results in CONFIG_IA64_GENERIC=y, which in turn selects NUMA.

What about the patch below instead?

> I can't imagine that it is ever a useful combination ... except to
> find places in the code where people have:
> 
> #if defined(CONFIG_SMP)
>  ...
> #else
> 
> #if defined(CONFIG_NUMA) // !!! SMP=n, NUMA code???
>   ...
> #endif
> #endif
> 
> 
> Which is what happened, and is being fixed, here.

If it isn't a useful combination such code makes no sense.

> -Tony

cu
Adrian


<--  snip  -->


CONFIG_NUMA=y, CONFIG_SMP=n isn't a useful combination, so let NUMA 
select SMP.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---
a94d43a82a3c5a95c82b9688e5adebca6dcb7acb diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index cd13e13..19e8167 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -387,6 +387,7 @@ config NUMA
 	bool "NUMA support"
 	depends on !IA64_HP_SIM && !FLATMEM
 	default y if IA64_SGI_SN2
+	select SMP
 	select ACPI_NUMA if ACPI
 	help
 	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory



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

* [2.6 patch] ia64: let NUMA select SMP
@ 2008-04-25  0:41       ` Adrian Bunk
  0 siblings, 0 replies; 110+ messages in thread
From: Adrian Bunk @ 2008-04-25  0:41 UTC (permalink / raw)
  To: Luck, Tony; +Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

On Thu, Apr 24, 2008 at 05:25:06PM -0700, Luck, Tony wrote:
> >>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
> >>...
> >
> > Why is this an allowed configuration on ia64?
> 
> It shows up in allnoconfig ... probably because some
> bit of Kconfig forces NUMA=y.

allnoconfig results in CONFIG_IA64_GENERIC=y, which in turn selects NUMA.

What about the patch below instead?

> I can't imagine that it is ever a useful combination ... except to
> find places in the code where people have:
> 
> #if defined(CONFIG_SMP)
>  ...
> #else
> 
> #if defined(CONFIG_NUMA) // !!! SMP=n, NUMA code???
>   ...
> #endif
> #endif
> 
> 
> Which is what happened, and is being fixed, here.

If it isn't a useful combination such code makes no sense.

> -Tony

cu
Adrian


<--  snip  -->


CONFIG_NUMA=y, CONFIG_SMP=n isn't a useful combination, so let NUMA 
select SMP.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---
a94d43a82a3c5a95c82b9688e5adebca6dcb7acb diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index cd13e13..19e8167 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -387,6 +387,7 @@ config NUMA
 	bool "NUMA support"
 	depends on !IA64_HP_SIM && !FLATMEM
 	default y if IA64_SGI_SN2
+	select SMP
 	select ACPI_NUMA if ACPI
 	help
 	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory



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

* RE: [2.6 patch] ia64: let NUMA select SMP
  2008-04-25  0:41       ` Adrian Bunk
@ 2008-04-25  1:01         ` Luck, Tony
  -1 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-25  1:01 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 795 bytes --]

> CONFIG_NUMA=y, CONFIG_SMP=n isn't a useful combination, so let NUMA 
> select SMP.

Yup.  That looks good.  Means that my allnoconfig will now
have SMP=y though :-(  Root of that is selecting GENERIC,
and I'm not sure there is a better choice.

Doesn't change the need for the patch to delete the #if NUMA
clause inside the SMP=n path though (your patch would make my
build work by forcing SMP=y ... so the build error would go
away ... but that doesn't make it OK to have #if NUMA code
inside the SMP=n clause).

This does make we wonder how much dead code is hidden inside
impossibly nested #ifdefs elsewhere in the kernel.

-Tony
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

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

* RE: [2.6 patch] ia64: let NUMA select SMP
@ 2008-04-25  1:01         ` Luck, Tony
  0 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-25  1:01 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: torvalds, linux-kernel, linux-ia64, Mike Travis, Russ Anderson

> CONFIG_NUMA=y, CONFIG_SMP=n isn't a useful combination, so let NUMA 
> select SMP.

Yup.  That looks good.  Means that my allnoconfig will now
have SMP=y though :-(  Root of that is selecting GENERIC,
and I'm not sure there is a better choice.

Doesn't change the need for the patch to delete the #if NUMA
clause inside the SMP=n path though (your patch would make my
build work by forcing SMP=y ... so the build error would go
away ... but that doesn't make it OK to have #if NUMA code
inside the SMP=n clause).

This does make we wonder how much dead code is hidden inside
impossibly nested #ifdefs elsewhere in the kernel.

-Tony
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þ&ºãø§¶\x17›¡Ü¨}©ž²Æ zÚ&j:+v‰¨þø\x1e¯ù\x1e®w¥þŠà2ŠÞ™¨è­Ú&¢)ß¡«a¶Úÿÿûàz¿äz¹Þ—ú+ƒùšŽŠÝ¢jÿŠwèþ^[f

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

* Re: [2.6 patch] ia64: let NUMA select SMP
  2008-04-25  0:41       ` Adrian Bunk
@ 2008-04-25 12:50         ` Mike Travis
  -1 siblings, 0 replies; 110+ messages in thread
From: Mike Travis @ 2008-04-25 12:50 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Luck, Tony, torvalds, linux-kernel, linux-ia64, Russ Anderson

Adrian Bunk wrote:
> On Thu, Apr 24, 2008 at 05:25:06PM -0700, Luck, Tony wrote:
>>>>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
>>>> ...
>>> Why is this an allowed configuration on ia64?
>> It shows up in allnoconfig ... probably because some
>> bit of Kconfig forces NUMA=y.
> 
> allnoconfig results in CONFIG_IA64_GENERIC=y, which in turn selects NUMA.
> 
> What about the patch below instead?
> 
>> I can't imagine that it is ever a useful combination ... except to
>> find places in the code where people have:

Though highly unlikely, it is possible to have multiple memory nodes
without having multiple cpus -- at least in theory.  In this specific
case it's nonsensical because the scheduler is grouping cpus by node.

Thanks,
Mike

>>
>> #if defined(CONFIG_SMP)
>>  ...
>> #else
>>
>> #if defined(CONFIG_NUMA) // !!! SMP=n, NUMA code???
>>   ...
>> #endif
>> #endif
>>
>>
>> Which is what happened, and is being fixed, here.
> 
> If it isn't a useful combination such code makes no sense.
> 
>> -Tony
> 
> cu
> Adrian
> 
> 
> <--  snip  -->
> 
> 
> CONFIG_NUMA=y, CONFIG_SMP=n isn't a useful combination, so let NUMA 
> select SMP.
> 
> Signed-off-by: Adrian Bunk <bunk@kernel.org>
> 
> ---
> a94d43a82a3c5a95c82b9688e5adebca6dcb7acb diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index cd13e13..19e8167 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -387,6 +387,7 @@ config NUMA
>  	bool "NUMA support"
>  	depends on !IA64_HP_SIM && !FLATMEM
>  	default y if IA64_SGI_SN2
> +	select SMP
>  	select ACPI_NUMA if ACPI
>  	help
>  	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
> 


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

* Re: [2.6 patch] ia64: let NUMA select SMP
@ 2008-04-25 12:50         ` Mike Travis
  0 siblings, 0 replies; 110+ messages in thread
From: Mike Travis @ 2008-04-25 12:50 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Luck, Tony, torvalds, linux-kernel, linux-ia64, Russ Anderson

Adrian Bunk wrote:
> On Thu, Apr 24, 2008 at 05:25:06PM -0700, Luck, Tony wrote:
>>>>       Build fix for CONFIG_NUMA=y && CONFIG_SMP=n
>>>> ...
>>> Why is this an allowed configuration on ia64?
>> It shows up in allnoconfig ... probably because some
>> bit of Kconfig forces NUMA=y.
> 
> allnoconfig results in CONFIG_IA64_GENERIC=y, which in turn selects NUMA.
> 
> What about the patch below instead?
> 
>> I can't imagine that it is ever a useful combination ... except to
>> find places in the code where people have:

Though highly unlikely, it is possible to have multiple memory nodes
without having multiple cpus -- at least in theory.  In this specific
case it's nonsensical because the scheduler is grouping cpus by node.

Thanks,
Mike

>>
>> #if defined(CONFIG_SMP)
>>  ...
>> #else
>>
>> #if defined(CONFIG_NUMA) // !!! SMP=n, NUMA code???
>>   ...
>> #endif
>> #endif
>>
>>
>> Which is what happened, and is being fixed, here.
> 
> If it isn't a useful combination such code makes no sense.
> 
>> -Tony
> 
> cu
> Adrian
> 
> 
> <--  snip  -->
> 
> 
> CONFIG_NUMA=y, CONFIG_SMP=n isn't a useful combination, so let NUMA 
> select SMP.
> 
> Signed-off-by: Adrian Bunk <bunk@kernel.org>
> 
> ---
> a94d43a82a3c5a95c82b9688e5adebca6dcb7acb diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index cd13e13..19e8167 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -387,6 +387,7 @@ config NUMA
>  	bool "NUMA support"
>  	depends on !IA64_HP_SIM && !FLATMEM
>  	default y if IA64_SGI_SN2
> +	select SMP
>  	select ACPI_NUMA if ACPI
>  	help
>  	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
> 


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
  2008-04-22 23:36 ` Luck, Tony
@ 2008-04-29 23:36 ` Luck, Tony
  2008-05-01 22:57 ` Luck, Tony
                   ` (91 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-04-29 23:36 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

asm-x86/topology.h got touched to add a null stub for the change by Alex
to get better "physical id" values in /proc/cpuinfo by asking ACPI.

Thanks!

-Tony

 arch/ia64/kernel/smpboot.c          |   12 +++++++++---
 arch/ia64/kernel/topology.c         |    9 +++++++++
 arch/ia64/kernel/uncached.c         |   23 +++++++++++++----------
 arch/ia64/mm/tlb.c                  |    5 ++++-
 drivers/acpi/processor_core.c       |    9 +++++++++
 drivers/char/mspec.c                |   12 ++++++------
 drivers/misc/sgi-xp/xpc_partition.c |    4 ++--
 include/asm-ia64/topology.h         |    2 ++
 include/asm-ia64/uncached.h         |    6 +++---
 include/asm-x86/topology.h          |    4 ++++
 10 files changed, 61 insertions(+), 25 deletions(-)

Alex Chiang (2):
      [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO
      [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id

Dean Nelson (1):
      [IA64] allocate multiple contiguous pages via uncached allocator

Hidetoshi Seto (1):
      [IA64] bugfix: nptcg breaks cpu-hotadd




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
  2008-04-22 23:36 ` Luck, Tony
  2008-04-29 23:36 ` Luck, Tony
@ 2008-05-01 22:57 ` Luck, Tony
  2008-05-15 20:46 ` Luck, Tony
                   ` (90 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-05-01 22:57 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/ia32/ia32_signal.c   |    2 +-
 arch/ia64/kernel/acpi.c        |    2 +-
 arch/ia64/kernel/irq.c         |    4 +-
 arch/ia64/kernel/palinfo.c     |    2 +-
 arch/ia64/kernel/perfmon.c     |  199 +++++++++++++++++----------------------
 arch/ia64/kernel/signal.c      |   15 ++--
 arch/ia64/kernel/smp.c         |   68 +++++++-------
 arch/ia64/kernel/time.c        |    5 -
 arch/ia64/kernel/topology.c    |   16 ++-
 include/asm-ia64/cpu.h         |    2 +-
 include/asm-ia64/thread_info.h |   13 ++-
 11 files changed, 157 insertions(+), 171 deletions(-)

Al Viro (1):
      [IA64] fix file and descriptor handling in perfmon

Hidetoshi Seto (5):
      [IA64] fix section mismatch in arch/ia64/kernel/acpi.c
      [IA64] fix section mismatch in arch/ia64/kernel/irq.c
      [IA64] fix section mismatch in arch/ia64/kernel/palinfo.c
      [IA64] fix section mismatch in arch/ia64/kernel/topology.c
      [IA64] smp.c coding style fix

Roland McGrath (1):
      [IA64] TS_RESTORE_SIGMASK




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (2 preceding siblings ...)
  2008-05-01 22:57 ` Luck, Tony
@ 2008-05-15 20:46 ` Luck, Tony
  2008-05-28 19:52 ` Luck, Tony
                   ` (89 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-05-15 20:46 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 Documentation/kernel-parameters.txt |    6 +
 arch/ia64/Kconfig                   |   13 ++
 arch/ia64/Makefile                  |    2 +-
 arch/ia64/ia32/ia32_support.c       |   10 -
 arch/ia64/kernel/acpi.c             |   10 +-
 arch/ia64/kernel/entry.S            |   26 ++-
 arch/ia64/kernel/palinfo.c          |    6 -
 arch/ia64/kernel/perfmon.c          |   16 +-
 arch/ia64/kernel/process.c          |   25 +++-
 arch/ia64/kernel/sal.c              |   11 ++
 arch/ia64/kernel/setup.c            |   29 ++++
 arch/ia64/mm/init.c                 |   25 +++
 arch/ia64/uv/Makefile               |   12 ++
 arch/ia64/uv/kernel/Makefile        |   13 ++
 arch/ia64/uv/kernel/machvec.c       |   11 ++
 arch/ia64/uv/kernel/setup.c         |   98 +++++++++++
 include/asm-ia64/machvec.h          |    2 +
 include/asm-ia64/machvec_uv.h       |   26 +++
 include/asm-ia64/uv/uv_hub.h        |  309 +++++++++++++++++++++++++++++++++++
 include/asm-ia64/uv/uv_mmrs.h       |  266 ++++++++++++++++++++++++++++++
 20 files changed, 878 insertions(+), 38 deletions(-)
 create mode 100644 arch/ia64/uv/Makefile
 create mode 100644 arch/ia64/uv/kernel/Makefile
 create mode 100644 arch/ia64/uv/kernel/machvec.c
 create mode 100644 arch/ia64/uv/kernel/setup.c
 create mode 100644 include/asm-ia64/machvec_uv.h
 create mode 100644 include/asm-ia64/uv/uv_hub.h
 create mode 100644 include/asm-ia64/uv/uv_mmrs.h

Alex Chiang (1):
      [IA64] allow user to force_pal_cache_flush

Bernhard Walle (1):
      [IA64] Don't reserve crashkernel memory > 4 GB

Hidetoshi Seto (3):
      [IA64] fix interrupt masking for pending works on kernel leave
      [IA64] trivial cleanup for entry.S
      [IA64] trivial cleanup for perfmon.c

Huang, Xiaolan (1):
      [IA64] fix personality(PER_LINUX32) performance issue

Jack Steiner (2):
      [IA64] Add header files for SGI UV platform
      [IA64] machvec support for SGI UV platform

Prarit Bhargava (1):
      [IA64] Properly unregister legacy interrupts

Simon Holm Th√∏gersen (1):
      [IA64] Remove NULL pointer check for argument never passed as NULL.



--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (3 preceding siblings ...)
  2008-05-15 20:46 ` Luck, Tony
@ 2008-05-28 19:52 ` Luck, Tony
  2008-06-16 17:28 ` Luck, Tony
                   ` (88 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-05-28 19:52 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/ivt.S         |   84 ++++++++++++++++++++--------------------
 arch/ia64/kernel/minstate.h    |   46 ++++++++++++++++++++--
 arch/ia64/kernel/patch.c       |   23 +++++++++++
 arch/ia64/kernel/setup.c       |   11 +++++
 arch/ia64/kernel/vmlinux.lds.S |    7 +++
 include/asm-ia64/patch.h       |    1 +
 include/asm-ia64/ptrace.h      |    2 +-
 include/asm-ia64/sections.h    |    1 +
 8 files changed, 128 insertions(+), 47 deletions(-)

Tony Luck (1):
      [IA64] Workaround for RSE issue




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (4 preceding siblings ...)
  2008-05-28 19:52 ` Luck, Tony
@ 2008-06-16 17:28 ` Luck, Tony
  2008-06-24 21:49 ` Luck, Tony
                   ` (87 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-06-16 17:28 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

        git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Makefile              |    1 +
 arch/ia64/kernel/perfmon.c      |   10 +++++-----
 arch/ia64/kernel/sal.c          |    7 +++----
 arch/ia64/uv/kernel/setup.c     |   12 ++++++++++++
 include/asm-ia64/sn/simulator.h |    7 ++++++-
 5 files changed, 27 insertions(+), 10 deletions(-)

Alex Chiang (1):
      [IA64] Update check_sal_cache_flush to use platform_send_ipi()

Jack Steiner (1):
      [IA64] Fix CONFIG_IA64_SGI_UV build error

stephane eranian (1):
      [IA64] perfmon: fix async exit bug




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (5 preceding siblings ...)
  2008-06-16 17:28 ` Luck, Tony
@ 2008-06-24 21:49 ` Luck, Tony
  2008-06-30 23:52 ` Luck, Tony
                   ` (86 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-06-24 21:49 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

        git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/iosapic.c        |    2 --
 arch/ia64/kernel/setup.c          |    3 +--
 arch/ia64/sn/kernel/sn2/sn2_smp.c |    2 +-
 3 files changed, 2 insertions(+), 5 deletions(-)

Cliff Wickman (1):
      [IA64] Handle count=0 in sn2_ptc_proc_write()

Jes Sorensen (1):
      [IA64] Fix boot failure on ia64/sn2

Julia Lawall (1):
      [IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte()




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (6 preceding siblings ...)
  2008-06-24 21:49 ` Luck, Tony
@ 2008-06-30 23:52 ` Luck, Tony
  2008-07-17 20:31 ` Luck, Tony
                   ` (85 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-06-30 23:52 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

        git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/setup.c |    3 ++-
 arch/ia64/kernel/time.c  |    1 +
 2 files changed, 3 insertions(+), 1 deletions(-)

Doug Chapman (1):
      [IA64] export account_system_vtime

Tony Luck (1):
      [IA64] Bugfix for system with 32 cpus




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (7 preceding siblings ...)
  2008-06-30 23:52 ` Luck, Tony
@ 2008-07-17 20:31 ` Luck, Tony
  2008-07-25 20:30 ` Luck, Tony
                   ` (84 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-07-17 20:31 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

        git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 Documentation/ia64/paravirt_ops.txt     |  137 +++++++++
 arch/ia64/Kconfig                       |    4 +-
 arch/ia64/Makefile                      |    6 +
 arch/ia64/kernel/Makefile               |   44 +++
 arch/ia64/kernel/acpi.c                 |    5 +-
 arch/ia64/kernel/cpufreq/acpi-cpufreq.c |    4 +-
 arch/ia64/kernel/entry.S                |  115 +++++---
 arch/ia64/kernel/head.S                 |   41 +++
 arch/ia64/kernel/iosapic.c              |   45 ++-
 arch/ia64/kernel/irq_ia64.c             |   19 +-
 arch/ia64/kernel/ivt.S                  |  462 +++++++++++++++---------------
 arch/ia64/kernel/minstate.h             |   13 +-
 arch/ia64/kernel/module.c               |    3 +-
 arch/ia64/kernel/nr-irqs.c              |   24 ++
 arch/ia64/kernel/paravirt.c             |  369 ++++++++++++++++++++++++
 arch/ia64/kernel/paravirt_inst.h        |   29 ++
 arch/ia64/kernel/paravirtentry.S        |   60 ++++
 arch/ia64/kernel/setup.c                |   10 +
 arch/ia64/kernel/smpboot.c              |    2 +
 arch/ia64/kernel/time.c                 |   23 ++
 arch/ia64/kernel/vmlinux.lds.S          |    1 -
 drivers/char/mmtimer.c                  |   29 +-
 include/asm-ia64/Kbuild                 |    2 +-
 include/asm-ia64/gcc_intrin.h           |   24 +-
 include/asm-ia64/hw_irq.h               |   23 ++-
 include/asm-ia64/intel_intrin.h         |   41 ++--
 include/asm-ia64/intrinsics.h           |   55 ++++
 include/asm-ia64/iosapic.h              |   18 +-
 include/asm-ia64/irq.h                  |    9 +-
 include/asm-ia64/mmu_context.h          |    6 +-
 include/asm-ia64/native/inst.h          |  175 ++++++++++++
 include/asm-ia64/native/irq.h           |   35 +++
 include/asm-ia64/paravirt.h             |  255 +++++++++++++++++
 include/asm-ia64/paravirt_privop.h      |  114 ++++++++
 include/asm-ia64/smp.h                  |    2 +
 include/asm-ia64/system.h               |   11 +-
 include/asm-ia64/uv/uv_mmrs.h           |  423 +++++++++++++++++++++++++++-
 37 files changed, 2251 insertions(+), 387 deletions(-)
 create mode 100644 Documentation/ia64/paravirt_ops.txt
 create mode 100644 arch/ia64/kernel/nr-irqs.c
 create mode 100644 arch/ia64/kernel/paravirt.c
 create mode 100644 arch/ia64/kernel/paravirt_inst.h
 create mode 100644 arch/ia64/kernel/paravirtentry.S
 create mode 100644 include/asm-ia64/native/inst.h
 create mode 100644 include/asm-ia64/native/irq.h
 create mode 100644 include/asm-ia64/paravirt.h
 create mode 100644 include/asm-ia64/paravirt_privop.h

Akiyama, Nobuyuki (1):
      [IA64] adding parameter check to module_free()

Alan Cox (1):
      mmtimer: Push BKL down into the ioctl handler

Alex Chiang (1):
      [IA64] Avoid overflowing ia64_cpu_to_sapicid in acpi_map_lsapic()

Bernhard Walle (1):
      [IA64] Remove experimental status of kdump

Denis V. Lunev (1):
      [IA64] improper printk format in acpi-cpufreq

Dimitri Sivanich (1):
      [IA64] Update ia64 mmr list for SGI uv

Isaku Yamahata (19):
      [IA64] pvops: preparation: remove extern in irq_ia64.c
      [IA64] pvops: preparation: move the constants, LOAD_OFFSET, to a header file.
      [IA64] pvops: preparation: introduce ia64_set_rr0_to_rr4() to make kernel paravirtualization friendly.
      [IA64] pvops: preparation: introduce ia64_get_psr_i() to make kernel paravirtualization friendly.
      [IA64] pvops: introduce pv_info which describes some random info.
      [IA64] pvops: add an early setup hook for pv_ops.
      [IA64] pvops: introduce pv_cpu_ops to paravirtualize privileged instructions.
      [IA64] pvops: preparation for paravirtulization of hand written assembly code.
      [IA64] pvops: define paravirtualized instructions for native.
      [IA64] pvops: paravirtualize minstate.h.
      [IA64] pvops: paravirtualize ivt.S
      [IA64] pvops: paravirtualize entry.S
      [IA64] pvops: paravirtualize NR_IRQS
      [IA64] pvops: define initialization hooks, pv_init_ops, for paravirtualized environment.
      [IA64] pvops: add hooks, pv_iosapic_ops, to paravirtualize iosapic.
      [IA64] pvops: add hooks, pv_irq_ops, to paravirtualized irq related operations.
      [IA64] pvops: add to hooks, pv_time_ops, for steal time accounting.
      [IA64] pvops: documentation on ia64/pv_ops
      [IA64] pv_ops: move some functions in ivt.S to avoid lack of space.




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (8 preceding siblings ...)
  2008-07-17 20:31 ` Luck, Tony
@ 2008-07-25 20:30 ` Luck, Tony
  2008-08-06 18:32 ` Luck, Tony
                   ` (83 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-07-25 20:30 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

        git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

[And a big thanks to Ulrich for including test programs in the
commits to x86 that added these system calls. That made testing
on ia64 a breeze]

-Tony

 arch/ia64/kernel/entry.S  |    6 ++++++
 include/asm-ia64/unistd.h |    8 +++++++-
 2 files changed, 13 insertions(+), 1 deletions(-)

Tony Luck (1):
      [IA64] Wire up new system calls




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (9 preceding siblings ...)
  2008-07-25 20:30 ` Luck, Tony
@ 2008-08-06 18:32 ` Luck, Tony
  2008-08-12 21:55 ` Luck, Tony
                   ` (82 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-08-06 18:32 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

        git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig                   |   10 +-
 arch/ia64/configs/generic_defconfig |  586 ++++++++++++++++++++++-------------
 arch/ia64/kernel/.gitignore         |    1 +
 arch/ia64/kernel/ivt.S              |    4 +-
 drivers/misc/Kconfig                |    4 +-
 5 files changed, 381 insertions(+), 224 deletions(-)

Isaku Yamahata (1):
      [IA64] pv_ops: fix ivt.S paravirtualization

Jack Steiner (1):
      [IA64] Eliminate trailing backquote in IA64_SGI_UV

Robin Holt (4):
      [IA64] Cleanup generated file not ignored by .gitignore
      [IA64] Allow ia64 to CONFIG_NR_CPUS up to 4096
      [IA64] update generic_defconfig for 2.6.27-rc1
      [IA64] update generic_defconfig to support sn2.

Tony Luck (2):
      [IA64] Fix uniprocessor build w.r.t. SGI_XP and SGI_GRU
      [IA64] Update generic config




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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (10 preceding siblings ...)
  2008-08-06 18:32 ` Luck, Tony
@ 2008-08-12 21:55 ` Luck, Tony
  2008-08-18 23:46 ` Luck, Tony
                   ` (81 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-08-12 21:55 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/sal.h    |    2 +-
 arch/ia64/kernel/head.S        |   26 +++++++++++++++++++++++++-
 arch/ia64/kernel/setup.c       |   18 ++++++++++--------
 arch/ia64/kernel/smpboot.c     |    2 ++
 arch/ia64/kernel/vmlinux.lds.S |    3 +++
 arch/ia64/mm/contig.c          |   10 ++++++++--
 arch/ia64/mm/discontig.c       |    6 +++++-
 7 files changed, 54 insertions(+), 13 deletions(-)

Adrian Bunk (1):
      [IA64] use bcd2bin/bin2bcd

Tony Luck (1):
      [IA64] Ensure cpu0 can access per-cpu variables in early boot code


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (11 preceding siblings ...)
  2008-08-12 21:55 ` Luck, Tony
@ 2008-08-18 23:46 ` Luck, Tony
  2008-08-26 16:59 ` Luck, Tony
                   ` (80 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-08-18 23:46 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/configs/sn2_defconfig | 1285 ---------------------------------------
 arch/ia64/ia32/ia32_entry.S     |    2 +-
 arch/ia64/ia32/ia32priv.h       |    7 -
 arch/ia64/ia32/sys_ia32.c       |  132 ----
 arch/ia64/kernel/smp.c          |    8 +-
 arch/ia64/pci/pci.c             |   21 +-
 6 files changed, 16 insertions(+), 1439 deletions(-)
 delete mode 100644 arch/ia64/configs/sn2_defconfig

Christoph Hellwig (1):
      [IA64] use generic compat_old_sys_readdir

Robin Holt (2):
      [IA64] Remove sn2_defconfig.
      [IA64] Shrink shadow_flush_counts to a short array to save 8k of per_cpu area.

Tony Luck (1):
      [IA64] pci_acpi_scan_root cleanup


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (12 preceding siblings ...)
  2008-08-18 23:46 ` Luck, Tony
@ 2008-08-26 16:59 ` Luck, Tony
  2008-09-10 21:17 ` Luck, Tony
                   ` (79 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-08-26 16:59 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/io.h |   10 ++++++----
 arch/ia64/kernel/smpboot.c |    1 +
 2 files changed, 7 insertions(+), 4 deletions(-)

James Bottomley (1):
      [IA64] Fix __{in,out}s{w,l} to handle unaligned data

Robin Holt (1):
      [IA64] Fix ia64 build failure when CONFIG_SFC=m


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (13 preceding siblings ...)
  2008-08-26 16:59 ` Luck, Tony
@ 2008-09-10 21:17 ` Luck, Tony
  2008-09-23 16:59 ` Luck, Tony
                   ` (78 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-09-10 21:17 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/elf.h       |   15 +++++++++++++++
 arch/ia64/include/asm/sections.h  |   13 ++++++++++++-
 arch/ia64/include/asm/sn/bte.h    |    9 +++++----
 arch/ia64/kernel/module.c         |   21 ---------------------
 arch/ia64/kernel/smpboot.c        |    4 +---
 arch/ia64/sn/pci/tioca_provider.c |    4 +++-
 6 files changed, 36 insertions(+), 30 deletions(-)

James Bottomley (1):
      [IA64] fix compile failure with non modular builds

Julia Lawall (1):
      [IA64] arch/ia64/sn/pci/tioca_provider.c: introduce missing kfree

Paul E. McKenney (1):
      [IA64] prevent ia64 from invoking irq handlers on offline CPUs

Robin Holt (1):
      [IA64] fix up bte.h


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (14 preceding siblings ...)
  2008-09-10 21:17 ` Luck, Tony
@ 2008-09-23 16:59 ` Luck, Tony
  2008-09-30 16:18 ` Luck, Tony
                   ` (77 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-09-23 16:59 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/efi.c   |    5 +++--
 arch/ia64/kernel/setup.c |    2 ++
 2 files changed, 5 insertions(+), 2 deletions(-)

Alex Chiang (1):
      [IA64] Ski simulator doesn't need check_sal_cache_flush

Jay Lan (1):
      [IA64] kexec fails on systems with blocks of uncached memory


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (15 preceding siblings ...)
  2008-09-23 16:59 ` Luck, Tony
@ 2008-09-30 16:18 ` Luck, Tony
  2008-10-21 18:01 ` Luck, Tony
                   ` (76 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-09-30 16:18 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/sections.h |    3 +++
 arch/ia64/kernel/head.S          |    9 +++++----
 arch/ia64/kernel/vmlinux.lds.S   |    8 +++++---
 arch/ia64/mm/contig.c            |    2 +-
 arch/ia64/mm/discontig.c         |    2 +-
 5 files changed, 15 insertions(+), 9 deletions(-)

Tony Luck (1):
      [IA64] Put the space for cpu0 per-cpu area into .data section


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (16 preceding siblings ...)
  2008-09-30 16:18 ` Luck, Tony
@ 2008-10-21 18:01 ` Luck, Tony
  2008-11-05  0:43 ` Luck, Tony
                   ` (75 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-10-21 18:01 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 Documentation/ia64/xen.txt                         |  183 ++++++++
 arch/ia64/Kconfig                                  |   50 +++
 arch/ia64/Makefile                                 |    3 +
 arch/ia64/configs/generic_defconfig                |    2 +
 arch/ia64/configs/tiger_defconfig                  |    2 +
 arch/ia64/dig/Makefile                             |    5 +
 arch/ia64/dig/dig_vtd_iommu.c                      |   59 +++
 arch/ia64/dig/machvec_vtd.c                        |    3 +
 arch/ia64/ia32/ia32_entry.S                        |   11 +-
 arch/ia64/ia32/sys_ia32.c                          |  106 +-----
 arch/ia64/include/asm/break.h                      |    9 +
 arch/ia64/include/asm/cacheflush.h                 |    2 +
 arch/ia64/include/asm/device.h                     |    3 +
 arch/ia64/include/asm/dma-mapping.h                |   50 +++
 arch/ia64/include/asm/iommu.h                      |   16 +
 arch/ia64/include/asm/kregs.h                      |    2 +-
 arch/ia64/include/asm/machvec.h                    |    4 +
 arch/ia64/include/asm/machvec_dig_vtd.h            |   38 ++
 arch/ia64/include/asm/machvec_init.h               |    1 +
 arch/ia64/include/asm/machvec_xen.h                |   22 +
 arch/ia64/include/asm/meminit.h                    |    3 +-
 arch/ia64/include/asm/native/inst.h                |   10 +-
 arch/ia64/include/asm/native/pvchk_inst.h          |  263 +++++++++++
 arch/ia64/include/asm/paravirt.h                   |    4 +-
 arch/ia64/include/asm/pci.h                        |    3 +
 arch/ia64/include/asm/ptrace.h                     |    8 +
 arch/ia64/include/asm/pvclock-abi.h                |   48 ++
 arch/ia64/include/asm/swiotlb.h                    |   56 +++
 arch/ia64/include/asm/sync_bitops.h                |   51 +++
 arch/ia64/include/asm/syscall.h                    |  163 +++++++
 arch/ia64/include/asm/thread_info.h                |    3 -
 arch/ia64/include/asm/timex.h                      |    2 +
 arch/ia64/include/asm/unistd.h                     |    1 +
 .../paravirt_inst.h => include/asm/xen/events.h}   |   35 ++-
 .../asm/xen/grant_table.h}                         |   14 +-
 arch/ia64/include/asm/xen/hypercall.h              |  265 +++++++++++
 arch/ia64/include/asm/xen/hypervisor.h             |   89 ++++
 arch/ia64/include/asm/xen/inst.h                   |  458 ++++++++++++++++++++
 arch/ia64/include/asm/xen/interface.h              |  346 +++++++++++++++
 arch/ia64/include/asm/xen/irq.h                    |   44 ++
 arch/ia64/include/asm/xen/minstate.h               |  134 ++++++
 arch/ia64/include/asm/xen/page.h                   |   65 +++
 arch/ia64/include/asm/xen/privop.h                 |  129 ++++++
 arch/ia64/include/asm/xen/xcom_hcall.h             |   51 +++
 arch/ia64/include/asm/xen/xencomm.h                |   42 ++
 arch/ia64/kernel/Makefile                          |   22 +
 arch/ia64/kernel/acpi.c                            |   22 +
 arch/ia64/kernel/asm-offsets.c                     |   31 ++
 arch/ia64/kernel/entry.S                           |    5 +
 arch/ia64/kernel/ivt.S                             |    6 +-
 arch/ia64/kernel/msi_ia64.c                        |   80 ++++
 arch/ia64/kernel/nr-irqs.c                         |    1 +
 arch/ia64/kernel/paravirt.c                        |    2 +-
 arch/ia64/kernel/paravirt_inst.h                   |    4 +-
 arch/ia64/kernel/pci-dma.c                         |  129 ++++++
 arch/ia64/kernel/pci-swiotlb.c                     |   46 ++
 arch/ia64/kernel/perfmon.c                         |    7 +-
 arch/ia64/kernel/process.c                         |   22 +-
 arch/ia64/kernel/ptrace.c                          |  112 ++++--
 arch/ia64/kernel/setup.c                           |   42 ++-
 arch/ia64/kernel/signal.c                          |    8 +
 arch/ia64/lib/flush.S                              |   55 +++
 arch/ia64/mm/tlb.c                                 |    8 +-
 arch/ia64/scripts/pvcheck.sed                      |   32 ++
 arch/ia64/xen/Kconfig                              |   26 ++
 arch/ia64/xen/Makefile                             |   22 +
 arch/ia64/xen/grant-table.c                        |  155 +++++++
 arch/ia64/xen/hypercall.S                          |   91 ++++
 arch/ia64/xen/hypervisor.c                         |   96 ++++
 arch/ia64/xen/irq_xen.c                            |  435 +++++++++++++++++++
 .../ia64/{kernel/paravirt_inst.h => xen/irq_xen.h} |   19 +-
 arch/ia64/xen/machvec.c                            |    4 +
 .../ia64/{kernel/paravirt_inst.h => xen/suspend.c} |   49 ++-
 arch/ia64/xen/time.c                               |  213 +++++++++
 arch/ia64/{kernel/paravirt_inst.h => xen/time.h}   |   11 +-
 arch/ia64/xen/xcom_hcall.c                         |  441 +++++++++++++++++++
 arch/ia64/xen/xen_pv_ops.c                         |  364 ++++++++++++++++
 arch/ia64/xen/xencomm.c                            |  105 +++++
 arch/ia64/xen/xenivt.S                             |   52 +++
 arch/ia64/xen/xensetup.S                           |   83 ++++
 80 files changed, 5437 insertions(+), 221 deletions(-)
 create mode 100644 Documentation/ia64/xen.txt
 create mode 100644 arch/ia64/dig/dig_vtd_iommu.c
 create mode 100644 arch/ia64/dig/machvec_vtd.c
 create mode 100644 arch/ia64/include/asm/iommu.h
 create mode 100644 arch/ia64/include/asm/machvec_dig_vtd.h
 create mode 100644 arch/ia64/include/asm/machvec_xen.h
 create mode 100644 arch/ia64/include/asm/native/pvchk_inst.h
 create mode 100644 arch/ia64/include/asm/pvclock-abi.h
 create mode 100644 arch/ia64/include/asm/swiotlb.h
 create mode 100644 arch/ia64/include/asm/sync_bitops.h
 create mode 100644 arch/ia64/include/asm/syscall.h
 copy arch/ia64/{kernel/paravirt_inst.h => include/asm/xen/events.h} (61%)
 copy arch/ia64/{kernel/paravirt_inst.h => include/asm/xen/grant_table.h} (77%)
 create mode 100644 arch/ia64/include/asm/xen/hypercall.h
 create mode 100644 arch/ia64/include/asm/xen/hypervisor.h
 create mode 100644 arch/ia64/include/asm/xen/inst.h
 create mode 100644 arch/ia64/include/asm/xen/interface.h
 create mode 100644 arch/ia64/include/asm/xen/irq.h
 create mode 100644 arch/ia64/include/asm/xen/minstate.h
 create mode 100644 arch/ia64/include/asm/xen/page.h
 create mode 100644 arch/ia64/include/asm/xen/privop.h
 create mode 100644 arch/ia64/include/asm/xen/xcom_hcall.h
 create mode 100644 arch/ia64/include/asm/xen/xencomm.h
 create mode 100644 arch/ia64/kernel/pci-dma.c
 create mode 100644 arch/ia64/kernel/pci-swiotlb.c
 create mode 100644 arch/ia64/scripts/pvcheck.sed
 create mode 100644 arch/ia64/xen/Kconfig
 create mode 100644 arch/ia64/xen/Makefile
 create mode 100644 arch/ia64/xen/grant-table.c
 create mode 100644 arch/ia64/xen/hypercall.S
 create mode 100644 arch/ia64/xen/hypervisor.c
 create mode 100644 arch/ia64/xen/irq_xen.c
 copy arch/ia64/{kernel/paravirt_inst.h => xen/irq_xen.h} (73%)
 create mode 100644 arch/ia64/xen/machvec.c
 copy arch/ia64/{kernel/paravirt_inst.h => xen/suspend.c} (64%)
 create mode 100644 arch/ia64/xen/time.c
 copy arch/ia64/{kernel/paravirt_inst.h => xen/time.h} (83%)
 create mode 100644 arch/ia64/xen/xcom_hcall.c
 create mode 100644 arch/ia64/xen/xen_pv_ops.c
 create mode 100644 arch/ia64/xen/xencomm.c
 create mode 100644 arch/ia64/xen/xenivt.S
 create mode 100644 arch/ia64/xen/xensetup.S

Christoph Hellwig (2):
      [IA64] remove sys32_pause
      [IA64] kill sys32_pipe

Fenghua Yu (1):
      [IA64] Add Variable Page Size and IA64 Support in Intel IOMMU

Isaku Yamahata (33):
      ia64/pv_ops: fix paravirtualization of ivt.S with CONFIG_SMP=n
      ia64/pv_ops: avoid name conflict of get_irq_chip().
      ia64/pv_ops: update native/inst.h to clobber predicate.
      ia64: move function declaration, ia64_cpu_local_tick() from .c to .h
      ia64/xen: reserve "break" numbers used for xen hypercalls.
      ia64/xen: introduce sync bitops which is necessary for ia64/xen support.
      ia64/xen: increase IA64_MAX_RSVD_REGIONS.
      ia64/xen: introduce definitions necessary for ia64/xen hypercalls.
      ia64/xen: define several constants for ia64/xen.
      ia64/xen: add a necessary header file to compile include/xen/interface/xen.h
      ia64/xen: define helper functions for xen related address conversion.
      ia64/xen: define helper functions for xen hypercalls.
      ia64/xen: implement the arch specific part of xencomm.
      ia64/xen: xencomm conversion functions for hypercalls
      ia64/xen: implement arch specific part of xen grant table.
      ia64/xen: add definitions necessary for xen event channel.
      ia64/xen: introduce helper function to identify domain mode.
      ia64/pv_ops/xen: elf note based xen startup.
      ia64/pv_ops/xen: define xen pv_init_ops for various xen initialization.
      ia64/pv_ops/xen: define xen pv_cpu_ops.
      ia64/pv_ops/xen: define xen paravirtualized instructions for hand written assembly code
      ia64/pv_ops/xen: paravirtualize DO_SAVE_MIN for xen.
      ia64/pv_ops/xen: paravirtualize ivt.S for xen.
      ia64/pv_ops/xen: paravirtualize entry.S for ia64/xen.
      ia64/pv_ops/xen: implement xen pv_iosapic_ops.
      ia64/pv_ops/xen: define the nubmer of irqs which xen needs.
      ia64/pv_ops/xen: implement xen pv_irq_ops.
      ia64/pv_ops/xen: implement xen pv_time_ops.
      ia64/xen: define xen machine vector for domU.
      ia64/xen: preliminary support for save/restore.
      ia64/pv_ops: update Kconfig for paravirtualized guest and xen.
      ia64/xen: a recipe for using xen/ia64 with pv_ops.
      ia64/pv_ops: paravirtualized instruction checker.

Shaohua Li (4):
      [IA64] utrace syscall.h support for ia64
      [IA64] utrace use generic trace hook
      [IA64] utrace Enable trace hook config
      [IA64] utrace Convert compat ptrace to use compat_sys_ptrace

Tony Luck (1):
      [IA64] Fix annoying IA64_TR_ALLOC_MAX message.


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (17 preceding siblings ...)
  2008-10-21 18:01 ` Luck, Tony
@ 2008-11-05  0:43 ` Luck, Tony
  2008-11-07 18:00 ` Luck, Tony
                   ` (74 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-11-05  0:43 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig                 |    1 +
 arch/ia64/hp/common/hwsw_iommu.c  |    9 +------
 arch/ia64/include/asm/io.h        |   24 -------------------
 arch/ia64/include/asm/machvec.h   |   22 +-----------------
 arch/ia64/include/asm/meminit.h   |    1 -
 arch/ia64/include/asm/sal.h       |   15 +++++++++++-
 arch/ia64/include/asm/sn/sn_sal.h |   45 +++++++++++++++++++++++++++++++++++++
 arch/ia64/kernel/pci-dma.c        |    2 -
 arch/ia64/mm/discontig.c          |    1 -
 arch/ia64/uv/kernel/setup.c       |    6 +++++
 10 files changed, 68 insertions(+), 58 deletions(-)

FUJITA Tomonori (1):
      [IA64] remove dead BIO_VMERGE_BOUNDARY definition

Huang Weiyi (1):
      [IA64] remove duplicated #include from pci-dma.c

Joerg Roedel (1):
      [IA64] use common header for software IO/TLB

Ken'ichi Ohmichi (1):
      [IA64] fix the difference between node_mem_map and node_start_pfn

Russ Anderson (3):
      [IA64] Simplify SGI uv vs. sn2 driver issues
      [IA64] Add UV watchlist support.
      [IA64] Add error_recovery_info field to SAL section header

Tony Luck (1):
      [IA64] Build VT-D iommu support into generic kernel


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (18 preceding siblings ...)
  2008-11-05  0:43 ` Luck, Tony
@ 2008-11-07 18:00 ` Luck, Tony
  2008-11-20 22:47 ` Luck, Tony
                   ` (73 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-11-07 18:00 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

[repeat of request posted on Tuesday, but new & improved with 3 extra
 bonus patches]

Thanks!

-Tony

 arch/ia64/Kconfig                 |   19 ++++++++-------
 arch/ia64/hp/common/hwsw_iommu.c  |    9 +------
 arch/ia64/include/asm/io.h        |   24 -------------------
 arch/ia64/include/asm/machvec.h   |   22 +-----------------
 arch/ia64/include/asm/meminit.h   |    1 -
 arch/ia64/include/asm/sal.h       |   15 +++++++++++-
 arch/ia64/include/asm/sn/sn_sal.h |   45 +++++++++++++++++++++++++++++++++++++
 arch/ia64/kernel/acpi.c           |   29 +++++++++++++++++++----
 arch/ia64/kernel/pci-dma.c        |    2 -
 arch/ia64/kernel/setup.c          |    9 ++++---
 arch/ia64/mm/discontig.c          |    1 -
 arch/ia64/uv/kernel/setup.c       |    6 +++++
 12 files changed, 106 insertions(+), 76 deletions(-)

Bjorn Helgaas (1):
      [IA64] reorder Kconfig options to match x86

Doug Chapman (1):
      [IA64] fix boot panic caused by offline CPUs

FUJITA Tomonori (1):
      [IA64] remove dead BIO_VMERGE_BOUNDARY definition

Huang Weiyi (1):
      [IA64] remove duplicated #include from pci-dma.c

Jay Lan (1):
      [IA64] Reserve elfcorehdr memory in CONFIG_CRASH_DUMP

Joerg Roedel (1):
      [IA64] use common header for software IO/TLB

Ken'ichi Ohmichi (1):
      [IA64] fix the difference between node_mem_map and node_start_pfn

Russ Anderson (3):
      [IA64] Simplify SGI uv vs. sn2 driver issues
      [IA64] Add UV watchlist support.
      [IA64] Add error_recovery_info field to SAL section header

Tony Luck (1):
      [IA64] Build VT-D iommu support into generic kernel


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (19 preceding siblings ...)
  2008-11-07 18:00 ` Luck, Tony
@ 2008-11-20 22:47 ` Luck, Tony
  2008-12-09 22:28 ` Luck, Tony
                   ` (72 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-11-20 22:47 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/intrinsics.h      |    2 +-
 arch/ia64/include/asm/paravirt_privop.h |   13 +++++++++++++
 arch/ia64/kernel/entry.S                |    1 +
 arch/ia64/kernel/head.S                 |    2 +-
 arch/ia64/kernel/mca.c                  |    2 +-
 arch/ia64/kernel/paravirt.c             |    2 +-
 arch/ia64/kernel/pci-dma.c              |    1 -
 arch/ia64/xen/hypercall.S               |    2 +-
 8 files changed, 19 insertions(+), 6 deletions(-)

Hidetoshi Seto (1):
      [IA64] use mprintk instead of printk, in ia64_mca_modify_original_stack

Huang Weiyi (1):
      [IA64] remove duplicate include iommu.h

Isaku Yamahata (2):
      [IA64] ia64/pv_ops/pv_cpu_ops: fix _IA64_REG_IP case.
      [IA64] xen: fix xen_get_eflags.

Tony Luck (1):
      [IA64] Rationalize kernel mode alignment checking


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (20 preceding siblings ...)
  2008-11-20 22:47 ` Luck, Tony
@ 2008-12-09 22:28 ` Luck, Tony
  2009-01-15 19:45 ` Luck, Tony
                   ` (71 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2008-12-09 22:28 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/configs/generic_defconfig     |  218 +++++++++++++++++++++----------
 arch/ia64/include/asm/paravirt_privop.h |    1 -
 arch/ia64/kernel/topology.c             |    4 +-
 arch/ia64/sn/kernel/irq.c               |    9 +-
 arch/ia64/sn/kernel/setup.c             |    9 +-
 drivers/ide/sgiioc4.c                   |    6 +-
 drivers/misc/sgi-gru/grufault.c         |    4 +
 drivers/serial/ioc3_serial.c            |    6 +-
 8 files changed, 171 insertions(+), 86 deletions(-)

Alexey Dobriyan (1):
      [IA64] remove BUILD_BUG_ON from paravirt_getreg()

Jack Steiner (1):
      [IA64] Fix GRU compile error w/o CONFIG_HUGETLB_PAGE

John Keller (1):
      [IA64] SN: prevent IRQ retargetting in request_irq()

Julia Lawall (1):
      [IA64] eliminate NULL test and memset after alloc_bootmem

Robin Holt (4):
      [IA64] Updated the generic_defconfig to work with the 2.6.28-rc7 kernel.
      [IA64] Clear up section mismatch for sn_check_wars.
      [IA64] Clear up section mismatch with arch_unregister_cpu()
      [IA64] Clear up section mismatch for ioc4_ide_attach_one.

Tony Luck (1):
      [IA64] Fix section mismatch ioc3uart_init()/ioc3uart_submodule


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (21 preceding siblings ...)
  2008-12-09 22:28 ` Luck, Tony
@ 2009-01-15 19:45 ` Luck, Tony
  2009-02-19 21:02 ` Luck, Tony
                   ` (70 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-01-15 19:45 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 Documentation/DMA-API.txt            |    9 ++++-----
 arch/ia64/Kconfig                    |    1 +
 arch/ia64/configs/generic_defconfig  |    2 +-
 arch/ia64/include/asm/dma-mapping.h  |    2 ++
 arch/ia64/include/asm/machvec.h      |    7 +++++++
 arch/ia64/include/asm/machvec_init.h |    1 +
 arch/ia64/include/asm/machvec_sn2.h  |    2 ++
 arch/ia64/kernel/unaligned.c         |    6 +++++-
 arch/ia64/pci/pci.c                  |   27 +++++++++++++++++++++++++++
 arch/ia64/sn/pci/pci_dma.c           |    6 ++++++
 arch/ia64/xen/time.c                 |    4 ++--
 kernel/sysctl.c                      |    9 +++++++++
 12 files changed, 67 insertions(+), 9 deletions(-)

Brent Casavant (1):
      [IA64] generic_defconfig: Enable SATA_VITESSE

Doug Chapman (1):
      [IA64] dump stack on kernel unaligned warnings

Isaku Yamahata (1):
      [IA64] Update to use account_{steal,idle}_ticks

John Keller (1):
      [IA64] SN specific version of dma_get_required_mask()

Tony Luck (1):
      [IA64] Turn on CONFIG_HAVE_UNSTABLE_CLOCK


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (22 preceding siblings ...)
  2009-01-15 19:45 ` Luck, Tony
@ 2009-02-19 21:02 ` Luck, Tony
  2009-02-25 22:44 ` Luck, Tony
                   ` (69 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-02-19 21:02 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig                    |    7 +-
 arch/ia64/configs/xen_domu_defconfig | 1601 ++++++++++++++++++++++++++++++++++
 arch/ia64/include/asm/sn/bte.h       |    2 +-
 arch/ia64/kernel/smpboot.c           |    5 +-
 arch/ia64/sn/kernel/bte.c            |    7 +-
 arch/ia64/xen/Kconfig                |    3 +-
 arch/ia64/xen/xen_pv_ops.c           |    4 +-
 7 files changed, 1617 insertions(+), 12 deletions(-)
 create mode 100644 arch/ia64/configs/xen_domu_defconfig

Alex Chiang (2):
      [IA64] Revert "prevent ia64 from invoking irq handlers on offline CPUs"
      [IA64] Remove redundant cpu_clear() in __cpu_disable path

Isaku Yamahata (1):
      [IA64] fixes configs and add default config for ia64 xen domU

Robin Holt (1):
      [IA64] bte_copy of BTE_MAX_XFER trips BUG_ON.

Tony Luck (2):
      [IA64] Build fix for __early_pfn_to_nid() undefined link error
      [IA64] xen_domu build fix


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (23 preceding siblings ...)
  2009-02-19 21:02 ` Luck, Tony
@ 2009-02-25 22:44 ` Luck, Tony
  2009-03-06 22:17 ` Luck, Tony
                   ` (68 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-02-25 22:44 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig          |   11 +++++++++++
 arch/ia64/kernel/iosapic.c |    2 +-
 arch/ia64/kernel/unwind.c  |    2 +-
 3 files changed, 13 insertions(+), 2 deletions(-)

Kyle McMartin (1):
      [IA64] enable setting DMAR on by default

Roel Kluin (2):
      [IA64] Do not go beyond ARRAY_SIZE of unw.hash
      [IA64] Don't go beyond iosapic_intr_info's arraysize


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (24 preceding siblings ...)
  2009-02-25 22:44 ` Luck, Tony
@ 2009-03-06 22:17 ` Luck, Tony
  2009-03-27 17:46 ` Luck, Tony
                   ` (67 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-03-06 22:17 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/sn/pci/pcibr/pcibr_dma.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

Jeremy Higdon (1):
      [IA64] fix PCI DMA flag propagation on SN (Altix) with PICs


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (25 preceding siblings ...)
  2009-03-06 22:17 ` Luck, Tony
@ 2009-03-27 17:46 ` Luck, Tony
  2009-04-01 20:20 ` Luck, Tony
                   ` (66 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-03-27 17:46 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/irq_ia64.c |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

Jes Sorensen (1):
      [IA64] Fix kstat_this_cpu build breakage


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (26 preceding siblings ...)
  2009-03-27 17:46 ` Luck, Tony
@ 2009-04-01 20:20 ` Luck, Tony
  2009-04-08 22:33 ` Luck, Tony
                   ` (65 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-04-01 20:20 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/intrinsics.h        |    6 +-
 arch/ia64/include/asm/mmu_context.h       |    6 +-
 arch/ia64/include/asm/module.h            |    6 +
 arch/ia64/include/asm/native/inst.h       |   13 +
 arch/ia64/include/asm/native/patchlist.h  |   38 ++
 arch/ia64/include/asm/native/pvchk_inst.h |    8 +
 arch/ia64/include/asm/paravirt.h          |   65 +++
 arch/ia64/include/asm/paravirt_patch.h    |  143 +++++
 arch/ia64/include/asm/paravirt_privop.h   |  365 +++++++++++++-
 arch/ia64/include/asm/smp.h               |    3 +-
 arch/ia64/include/asm/timex.h             |    1 +
 arch/ia64/include/asm/topology.h          |    5 -
 arch/ia64/include/asm/xen/hypervisor.h    |   39 +-
 arch/ia64/include/asm/xen/inst.h          |   28 +
 arch/ia64/include/asm/xen/interface.h     |    9 +
 arch/ia64/include/asm/xen/minstate.h      |   11 +-
 arch/ia64/include/asm/xen/patchlist.h     |   38 ++
 arch/ia64/include/asm/xen/privop.h        |    8 +-
 arch/ia64/kernel/Makefile                 |   39 +--
 arch/ia64/kernel/Makefile.gate            |   27 +
 arch/ia64/kernel/acpi.c                   |    8 +-
 arch/ia64/kernel/asm-offsets.c            |    2 +
 arch/ia64/kernel/efi.c                    |    1 +
 arch/ia64/kernel/entry.S                  |    4 +-
 arch/ia64/kernel/fsys.S                   |   35 +-
 arch/ia64/kernel/gate.S                   |  171 ++++---
 arch/ia64/kernel/gate.lds.S               |   17 +-
 arch/ia64/kernel/head.S                   |   10 +-
 arch/ia64/kernel/ivt.S                    |    2 +-
 arch/ia64/kernel/mca.c                    |    6 +-
 arch/ia64/kernel/module.c                 |   35 ++-
 arch/ia64/kernel/paravirt.c               |  539 +++++++++++++++++++-
 arch/ia64/kernel/paravirt_patch.c         |  514 ++++++++++++++++++
 arch/ia64/kernel/paravirt_patchlist.c     |   79 +++
 arch/ia64/kernel/paravirt_patchlist.h     |   28 +
 arch/ia64/kernel/paravirtentry.S          |   99 +++-
 arch/ia64/kernel/patch.c                  |   40 ++-
 arch/ia64/kernel/perfmon.c                |    4 +-
 arch/ia64/kernel/salinfo.c                |    6 +-
 arch/ia64/kernel/setup.c                  |    9 +-
 arch/ia64/kernel/smp.c                    |    6 +-
 arch/ia64/kernel/smpboot.c                |   17 +-
 arch/ia64/kernel/time.c                   |    9 +
 arch/ia64/kernel/vmlinux.lds.S            |   30 ++
 arch/ia64/kvm/kvm-ia64.c                  |    2 +-
 arch/ia64/kvm/vcpu.c                      |    2 +-
 arch/ia64/kvm/vtlb.c                      |    2 +
 arch/ia64/mm/init.c                       |   12 +-
 arch/ia64/mm/tlb.c                        |    2 +-
 arch/ia64/scripts/pvcheck.sed             |    1 +
 arch/ia64/sn/kernel/io_common.c           |   15 +-
 arch/ia64/sn/kernel/io_init.c             |   12 +-
 arch/ia64/sn/kernel/setup.c               |    5 +-
 arch/ia64/sn/kernel/sn2/sn2_smp.c         |   12 +-
 arch/ia64/sn/kernel/sn2/sn_hwperf.c       |    8 +-
 arch/ia64/sn/pci/pcibr/pcibr_dma.c        |    4 +-
 arch/ia64/xen/Makefile                    |   19 +-
 arch/ia64/xen/gate-data.S                 |    3 +
 arch/ia64/xen/hypercall.S                 |    2 +
 arch/ia64/xen/time.c                      |   48 ++
 arch/ia64/xen/xen_pv_ops.c                |  800 ++++++++++++++++++++++++++++-
 61 files changed, 3188 insertions(+), 290 deletions(-)
 create mode 100644 arch/ia64/include/asm/native/patchlist.h
 create mode 100644 arch/ia64/include/asm/paravirt_patch.h
 create mode 100644 arch/ia64/include/asm/xen/patchlist.h
 create mode 100644 arch/ia64/kernel/Makefile.gate
 create mode 100644 arch/ia64/kernel/paravirt_patch.c
 create mode 100644 arch/ia64/kernel/paravirt_patchlist.c
 create mode 100644 arch/ia64/kernel/paravirt_patchlist.h
 create mode 100644 arch/ia64/xen/gate-data.S

Isaku Yamahata (22):
      ia64/pv_ops/xen: use __initconst instead of __initdata for const data
      ia64/xen: short-circuit tests for dom0
      ia64/pv_ops: add hooks to paravirtualize fsyscall implementation.
      ia64/pv_ops/xen: preliminary to paravirtualizing fsys.S for xen.
      ia64/pv_ops: paravirtualize fsys.S.
      ia64/pv_ops/pvchecker: support mov = ar.itc paravirtualization
      ia64/pv_ops: paravirtualize mov = ar.itc.
      ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm
      ia64/pv_ops/pv_time_ops: add sched_clock hook.
      ia64/pv_ops/xen/pv_time_ops: implement sched_clock.
      ia64/pv_ops: gate page paravirtualization.
      ia64/pv_ops/xen: define xen specific gate page.
      ia64/pv_ops: move down __kernel_syscall_via_epc.
      ia64/pv_ops: paravirtualize gate.S.
      ia64/pv_ops/xen/gate.S: xen gate page paravirtualization
      ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops.
      ia64/pv_ops: implement binary patching optimization for native.
      ia64/pv_ops/bp/module: support binary patching for kernel module.
      ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning.
      ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops.
      ia64/xen: fix the link error.
      ia64: remove some warnings.

Randy Dunlap (1):
      [IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c

Rusty Russell (5):
      cpumask: remove the now-obsoleted pcibus_to_cpumask(): ia64
      cpumask: arch_send_call_function_ipi_mask: ia64
      cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: ia64
      cpumask: Use accessors code.: ia64
      cpumask: use mm_cpumask() wrapper: ia64

Stoyan Gaydarov (1):
      [IA64] BUG to BUG_ON changes


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (27 preceding siblings ...)
  2009-04-01 20:20 ` Luck, Tony
@ 2009-04-08 22:33 ` Luck, Tony
  2009-04-20 17:32 ` Luck, Tony
                   ` (64 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-04-08 22:33 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/unistd.h |    4 +++-
 arch/ia64/kernel/entry.S       |    2 ++
 2 files changed, 5 insertions(+), 1 deletions(-)

Tony Luck (1):
      [IA64] wire up preadv/pwritev system calls


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (28 preceding siblings ...)
  2009-04-08 22:33 ` Luck, Tony
@ 2009-04-20 17:32 ` Luck, Tony
  2009-05-05 22:42 ` Luck, Tony
                   ` (63 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-04-20 17:32 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/paravirt_privop.h |    2 --
 arch/ia64/kernel/smp.c                  |   14 ++++++--------
 2 files changed, 6 insertions(+), 10 deletions(-)

Dimitri Sivanich (1):
      [IA64] smp_flush_tlb_mm() should only send IPI's to cpus in cpu_vm_mask

Isaku Yamahata (1):
      [IA64] fix allmodconfig compilation breakage.

Marcelo Tosatti (1):
      [IA64] export smp_send_reschedule


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (29 preceding siblings ...)
  2009-04-20 17:32 ` Luck, Tony
@ 2009-05-05 22:42 ` Luck, Tony
  2009-06-15 17:20 ` Luck, Tony
                   ` (62 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-05-05 22:42 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/idle.h       |    7 +++++++
 arch/ia64/include/asm/xen/events.h |    7 +------
 arch/ia64/xen/xensetup.S           |    2 --
 drivers/xen/balloon.c              |    3 ++-
 4 files changed, 10 insertions(+), 9 deletions(-)
 create mode 100644 arch/ia64/include/asm/idle.h

Jan Beulich (1):
      [IA64] xen_domu_defconfig: fix build issues/warnings


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (30 preceding siblings ...)
  2009-05-05 22:42 ` Luck, Tony
@ 2009-06-15 17:20 ` Luck, Tony
  2009-07-17 18:11 ` Fenghua Yu
                   ` (61 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-06-15 17:20 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/mm/extable.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Rusty Russell (1):
      [IA64] fix compile error in arch/ia64/mm/extable.c


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (31 preceding siblings ...)
  2009-06-15 17:20 ` Luck, Tony
@ 2009-07-17 18:11 ` Fenghua Yu
  2009-08-11 23:40 ` Fenghua Yu
                   ` (60 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Fenghua Yu @ 2009-07-17 18:11 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

While Tony is taking sabbatical, I'm IA64 co-maintainer (see MAINTAINERS).

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6.git release

This will update the files shown below.

Thanks!

-Fenghua

 arch/ia64/include/asm/fpu.h            |    2 ++
 arch/ia64/include/asm/xen/hypervisor.h |    1 +
 arch/ia64/kernel/dma-mapping.c         |    8 ++++++++
 3 files changed, 11 insertions(+), 0 deletions(-)

Aurelien Jarno (1):
      Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h"

Fenghua Yu (1):
      Fix ia64 compilation IS_ERR and PTE_ERR errors.

fujita (1):
      Add dma_debug_init() for ia64


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (32 preceding siblings ...)
  2009-07-17 18:11 ` Fenghua Yu
@ 2009-08-11 23:40 ` Fenghua Yu
  2009-09-02 17:28 ` Luck, Tony
                   ` (59 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Fenghua Yu @ 2009-08-11 23:40 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6.git release

This will update the files shown below.

Thanks!

-Fenghua

 arch/ia64/Makefile              |    5 -----
 arch/ia64/include/asm/bitops.h  |    2 +-
 arch/ia64/include/asm/pgtable.h |    1 -
 arch/ia64/kernel/ia64_ksyms.c   |    4 +---
 arch/ia64/kernel/iosapic.c      |    4 ++++
 arch/ia64/kernel/pci-dma.c      |    5 -----
 arch/ia64/kernel/topology.c     |    6 +++++-
 7 files changed, 11 insertions(+), 16 deletions(-)

Fenghua Yu (3):
      Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported()
      arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build
      ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails

Jaswinder Singh Rajput (2):
      IA64: includecheck fix: ia64, ia64_ksyms.c
      IA64: includecheck fix: ia64, pgtable.h

Johannes Weiner (1):
      ia64: boolean __test_and_clear_bit

Roel Kluin (1):
      arch/ia64/kernel/iosapic: missing test after ioremap()


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (33 preceding siblings ...)
  2009-08-11 23:40 ` Fenghua Yu
@ 2009-09-02 17:28 ` Luck, Tony
  2009-09-17 17:11 ` Luck, Tony
                   ` (58 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-02 17:28 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/dma-mapping.c |    4 +++-
 arch/ia64/lib/ip_fast_csum.S   |    8 +++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

Jiri Bohac (1):
      [IA64] fix csum_ipv6_magic()

Tony Luck (1):
      [IA64] Fix warning in dma-mapping.c


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (34 preceding siblings ...)
  2009-09-02 17:28 ` Luck, Tony
@ 2009-09-17 17:11 ` Luck, Tony
  2009-09-26 19:57 ` Luck, Tony
                   ` (57 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-17 17:11 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.  My version of git couldn't manage an
auto-merge for arch/ia64/kernel/vmllinux.lds.S (overlapping changes in replacing
big pieces of original with macro calls to generic code).  The resolution is
relatively obvious, but just to be sure I've appended a copy of what the merged
version of this file should loook like).

Thanks!

-Tony

 arch/ia64/include/asm/mca.h        |    2 +
 arch/ia64/kernel/crash.c           |   83 ++++++++++++++++++--------
 arch/ia64/kernel/head.S            |    6 +-
 arch/ia64/kernel/machine_kexec.c   |   15 +++++
 arch/ia64/kernel/mca.c             |   15 ++++-
 arch/ia64/kernel/mca_asm.S         |   47 +++++++++++++++
 arch/ia64/kernel/relocate_kernel.S |    2 +-
 arch/ia64/kernel/vmlinux.lds.S     |  115 ++++-------------------------------
 arch/ia64/sn/pci/pcibr/pcibr_ate.c |    2 +
 drivers/char/mbcs.c                |    5 +-
 drivers/misc/sgi-xp/xpc_sn2.c      |   40 +++++++------
 drivers/serial/ioc4_serial.c       |    2 +-
 12 files changed, 179 insertions(+), 155 deletions(-)

Hidetoshi Seto (7):
      [IA64] kdump: Mask MCA/INIT on frozen cpus
      [IA64] kexec: Make INIT safe while transition to
      [IA64] kexec: Unregister MCA handler before kexec
      [IA64] kdump: Don't return APs to SAL from kdump
      [IA64] kdump: Mask INIT first in panic-kdump path
      [IA64] kdump: Try INIT regardless of
      [IA64] kdump: Short path to freeze CPUs

Jiri Slaby (1):
      [IA64] pci_br, fix infinite loop in find_free_ate()

Nelson Elhage (2):
      [IA64] Use standard macros for page-aligned data.
      [IA64] Clean up linker script using standard macros.

Randy Dunlap (3):
      [IA64] mbcs: fix printk format warnings
      [IA64] ioc4_serial: fix printk format warnings
      [IA64] sgi-xp: fix printk format warnings

Tim Abbott (1):
      [IA64] Use .ref.text, not .text.init for start_ap.

=== after merging arch/ia64/kernel/vmlinux.lds.S ==
#include <asm/cache.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/pgtable.h>

#include <asm-generic/vmlinux.lds.h>

#define IVT_TEXT							\
		VMLINUX_SYMBOL(__start_ivt_text) = .;			\
		*(.text.ivt)						\
		VMLINUX_SYMBOL(__end_ivt_text) = .;

OUTPUT_FORMAT("elf64-ia64-little")
OUTPUT_ARCH(ia64)
ENTRY(phys_start)
jiffies = jiffies_64;
PHDRS {
  code   PT_LOAD;
  percpu PT_LOAD;
  data   PT_LOAD;
  note   PT_NOTE;
  unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */
}
SECTIONS
{
  /* unwind exit sections must be discarded before the rest of the
     sections get included. */
  /DISCARD/ : {
	*(.IA_64.unwind.exit.text)
	*(.IA_64.unwind_info.exit.text)
	*(.comment)
	*(.note)
  }

  v = PAGE_OFFSET;	/* this symbol is here to make debugging easier... */
  phys_start = _start - LOAD_OFFSET;

  code : { } :code
  . = KERNEL_START;

  _text = .;
  _stext = .;

  .text : AT(ADDR(.text) - LOAD_OFFSET)
    {
	IVT_TEXT
	TEXT_TEXT
	SCHED_TEXT
	LOCK_TEXT
	KPROBES_TEXT
	*(.gnu.linkonce.t*)
    }
  .text2 : AT(ADDR(.text2) - LOAD_OFFSET)
	{ *(.text2) }
#ifdef CONFIG_SMP
  .text.lock : AT(ADDR(.text.lock) - LOAD_OFFSET)
	{ *(.text.lock) }
#endif
  _etext = .;

  /* Read-only data */

  NOTES :code :note		/* put .notes in text and mark in PT_NOTE  */
  code_continues : {} :code	/* switch back to regular program...  */

  EXCEPTION_TABLE(16)

  /* MCA table */
  . = ALIGN(16);
  __mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET)
	{
	  __start___mca_table = .;
	  *(__mca_table)
	  __stop___mca_table = .;
	}

  .data.patch.phys_stack_reg : AT(ADDR(.data.patch.phys_stack_reg) - LOAD_OFFSET)
	{
	  __start___phys_stack_reg_patchlist = .;
	  *(.data.patch.phys_stack_reg)
	  __end___phys_stack_reg_patchlist = .;
	}

  /* Global data */
  _data = .;

  /* Unwind info & table: */
  . = ALIGN(8);
  .IA_64.unwind_info : AT(ADDR(.IA_64.unwind_info) - LOAD_OFFSET)
	{ *(.IA_64.unwind_info*) }
  .IA_64.unwind : AT(ADDR(.IA_64.unwind) - LOAD_OFFSET)
	{
	  __start_unwind = .;
	  *(.IA_64.unwind*)
	  __end_unwind = .;
	} :code :unwind
  code_continues2 : {} : code

  RODATA

  .opd : AT(ADDR(.opd) - LOAD_OFFSET)
	{ *(.opd) }

  /* Initialization code and data: */

  . = ALIGN(PAGE_SIZE);
  __init_begin = .;

  INIT_TEXT_SECTION(PAGE_SIZE)
  INIT_DATA_SECTION(16)

  .data.patch.vtop : AT(ADDR(.data.patch.vtop) - LOAD_OFFSET)
	{
	  __start___vtop_patchlist = .;
	  *(.data.patch.vtop)
	  __end___vtop_patchlist = .;
	}

  .data.patch.rse : AT(ADDR(.data.patch.rse) - LOAD_OFFSET)
	{
	  __start___rse_patchlist = .;
	  *(.data.patch.rse)
	  __end___rse_patchlist = .;
	}

  .data.patch.mckinley_e9 : AT(ADDR(.data.patch.mckinley_e9) - LOAD_OFFSET)
	{
	  __start___mckinley_e9_bundles = .;
	  *(.data.patch.mckinley_e9)
	  __end___mckinley_e9_bundles = .;
	}

#if defined(CONFIG_PARAVIRT)
  . = ALIGN(16);
  .paravirt_bundles : AT(ADDR(.paravirt_bundles) - LOAD_OFFSET)
	{
	  __start_paravirt_bundles = .;
          *(.paravirt_bundles)
	  __stop_paravirt_bundles = .;
	}
  . = ALIGN(16);
  .paravirt_insts : AT(ADDR(.paravirt_insts) - LOAD_OFFSET)
	{
	  __start_paravirt_insts = .;
          *(.paravirt_insts)
	  __stop_paravirt_insts = .;
	}
  . = ALIGN(16);
  .paravirt_branches : AT(ADDR(.paravirt_branches) - LOAD_OFFSET)
	{
	  __start_paravirt_branches = .;
	  *(.paravirt_branches)
	  __stop_paravirt_branches = .;
	}
#endif

#if defined(CONFIG_IA64_GENERIC)
  /* Machine Vector */
  . = ALIGN(16);
  .machvec : AT(ADDR(.machvec) - LOAD_OFFSET)
	{
	  machvec_start = .;
	  *(.machvec)
	  machvec_end = .;
	}
#endif

  . = ALIGN(PAGE_SIZE);
  __init_end = .;

  .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET)
        {
	PAGE_ALIGNED_DATA(PAGE_SIZE)
	  . = ALIGN(PAGE_SIZE);
	  __start_gate_section = .;
	  *(.data.gate)
	  __stop_gate_section = .;
#ifdef CONFIG_XEN
	  . = ALIGN(PAGE_SIZE);
	  __xen_start_gate_section = .;
	  *(.data.gate.xen)
	  __xen_stop_gate_section = .;
#endif
	}
  . = ALIGN(PAGE_SIZE);		/* make sure the gate page doesn't expose
  				 * kernel data
				 */

  /* Per-cpu data: */
  . = ALIGN(PERCPU_PAGE_SIZE);
  PERCPU_VADDR(PERCPU_ADDR, :percpu)
  __phys_per_cpu_start = __per_cpu_load;
  . = __phys_per_cpu_start + PERCPU_PAGE_SIZE;	/* ensure percpu data fits
  						 * into percpu page size
						 */

  data : { } :data
  .data : AT(ADDR(.data) - LOAD_OFFSET)
	{
#ifdef	CONFIG_SMP
  . = ALIGN(PERCPU_PAGE_SIZE);
		__cpu0_per_cpu = .;
  . = . + PERCPU_PAGE_SIZE;	/* cpu0 per-cpu space */
#endif
		INIT_TASK_DATA(PAGE_SIZE)
		CACHELINE_ALIGNED_DATA(SMP_CACHE_BYTES)
		READ_MOSTLY_DATA(SMP_CACHE_BYTES)
		DATA_DATA
		*(.data1)
		*(.gnu.linkonce.d*)
		CONSTRUCTORS
	}

  . = ALIGN(16);	/* gp must be 16-byte aligned for exc. table */
  .got : AT(ADDR(.got) - LOAD_OFFSET)
	{ *(.got.plt) *(.got) }
  __gp = ADDR(.got) + 0x200000;
  /* We want the small data sections together, so single-instruction offsets
     can access them all, and initialized data all before uninitialized, so
     we can shorten the on-disk segment size.  */
  .sdata : AT(ADDR(.sdata) - LOAD_OFFSET)
	{ *(.sdata) *(.sdata1) *(.srdata) }
  _edata  =  .;

  BSS_SECTION(0, 0, 0)

  _end = .;

  code : { } :code

  STABS_DEBUG
  DWARF_DEBUG

  /* Default discards */
  DISCARDS
}

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (35 preceding siblings ...)
  2009-09-17 17:11 ` Luck, Tony
@ 2009-09-26 19:57 ` Luck, Tony
  2009-09-26 20:39 ` Linus Torvalds
                   ` (56 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-26 19:57 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig                      |    4 +-
 arch/ia64/include/asm/spinlock.h       |  177 ++++++++++++++++----------------
 arch/ia64/include/asm/spinlock_types.h |    2 +-
 arch/ia64/kernel/head.S                |   89 ----------------
 arch/ia64/kernel/ia64_ksyms.c          |   20 ----
 arch/ia64/oprofile/backtrace.c         |   20 +----
 6 files changed, 93 insertions(+), 219 deletions(-)

Tony Luck (1):
      [IA64] implement ticket locks for Itanium


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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (36 preceding siblings ...)
  2009-09-26 19:57 ` Luck, Tony
@ 2009-09-26 20:39 ` Linus Torvalds
  2009-09-26 23:16 ` Matthew Wilcox
                   ` (55 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-26 20:39 UTC (permalink / raw)
  To: linux-ia64



On Sat, 26 Sep 2009, Luck, Tony wrote:
> 
> please pull from:
> 
> 	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release
> 
> This will update the files shown below.
> 
> Tony Luck (1):
>       [IA64] implement ticket locks for Itanium

Ok, so x86 has obviously done ticket locks for a while now, and I think 
it's good that ia64 does too, but I wonder why you made the ticket lock be 
a full 64-bit thing?

A plain 32-bit lock with a 16-bit shift should be plenty good enough, and 
those spinlocks are embedded into a lot of structures where size might 
matter. In fact, on x86, we do a 16-bit lock with a 8-bit shift for the 
case where NR_CPU's is less than 256 (but part of that is that we can use 
byte ops easily and access the high byte etc - it's not all about just the 
size of the spinlock).

Also, your basic spinlock seems to be pessimised a bit:

	+	int	*p = (int *)&lock->lock, turn, now_serving;
	+
	+	now_serving = *p;
	+	turn = ia64_fetchadd(1, p+1, acq);
	+
	+	if (turn = now_serving)
	+		return;
	+
	+	do {
	+		cpu_relax();
	+	} while (ACCESS_ONCE(*p) != turn);

which has a couple of issues, foremost being the one that you force a 
regular read first. Now, if the cacheline is already exclusive in your 
local caches, that should be fine, but if it's not in your cache, then 
you'll first fetch the cacheline for reading and possibly shared, and then 
immediately afterwards you'll do that "fetchadd()" thing that turns it 
dirty and exclusive.

It's likely _better_ to do the first access with a dirtying access, which 
can bring in the cache-line for exclusive ownership immediately. Of 
course, that depends on the exact details of ia64 cache coherency 
protocol, but in general, I'd have expected

	int *p = ((int *)&lock->lock, turn;

	turn = ia64_fetchadd(1, p+1, acq);
	while (ACCESS_ONCE(*p) != turn)
		cpu_relax();

to actually be not only shorter, but better due to cache access patterns 
too (ie do the read only _after_ you've done the write).

But I dunno. I'll pull the thing as-is, but I thought I'd point out that 
this looks non-optimal.

		Linus

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (37 preceding siblings ...)
  2009-09-26 20:39 ` Linus Torvalds
@ 2009-09-26 23:16 ` Matthew Wilcox
  2009-09-27  0:00 ` Linus Torvalds
                   ` (54 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Matthew Wilcox @ 2009-09-26 23:16 UTC (permalink / raw)
  To: linux-ia64

On Sat, Sep 26, 2009 at 01:39:12PM -0700, Linus Torvalds wrote:
> Ok, so x86 has obviously done ticket locks for a while now, and I think 
> it's good that ia64 does too, but I wonder why you made the ticket lock be 
> a full 64-bit thing?

This got brought up earlier, and there isn't a fetchadd4, only a fetchadd8.

I have no comment on your other criticism.

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (38 preceding siblings ...)
  2009-09-26 23:16 ` Matthew Wilcox
@ 2009-09-27  0:00 ` Linus Torvalds
  2009-09-27  0:08 ` Linus Torvalds
                   ` (53 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-27  0:00 UTC (permalink / raw)
  To: linux-ia64



On Sat, 26 Sep 2009, Matthew Wilcox wrote:

> On Sat, Sep 26, 2009 at 01:39:12PM -0700, Linus Torvalds wrote:
> > Ok, so x86 has obviously done ticket locks for a while now, and I think 
> > it's good that ia64 does too, but I wonder why you made the ticket lock be 
> > a full 64-bit thing?
> 
> This got brought up earlier, and there isn't a fetchadd4, only a fetchadd8.

Hmm. There's a fetchadd4, but it has horrible semantics (very limited 
constants).

You'd want a fetchadd4 that updates the high bits, and have the atomic 
counter in the high 16 bits, and the "current owner" in the low bits. And 
fetchadd4 can't do that, due to its idiotic "only does a few constants" 
thing.

BTW, I also think that the memory ordering is not sufficient in the 
current ia64 ticket locks. It does just a simple

        do {
                cpu_relax();
        } while (ACCESS_ONCE(*p) != turn);

to wait to get the spinlock, and even if the 'fetchadd' it did earlier was 
done with 'acq', the reads in ACCESS_ONCE() are just normal reads, so the 
code that is protected by that spinlock could easily have other reads or 
writes that escape to _before_ the ACCESS_ONCE().

Of course, with an in-order implementation, I guess it will never happen 
in practice, so what do I know. But I do suspect that at least in theory 
that thing is literally buggy as-is.

However, I will ignore that issue, and look at the "4 bytes versus 8 
bytes for the lock" thing. And I think fetchadd4 is still usable, despite 
it's limitations. We make the rule be:

 - the low 15 bits are the "I want to own counter"

   This allows 32768 different CPU's.

 - the high 15 bits are the "this is the current owner" counter

 - the 2 bits in the middle are "don't care" bits, and in particular, we 
   will do non-atomic stores to the upper 16 bits that always clear bit#16 
   in the 32-bit word. Overflow etc may still set it, but we don't care, 
   because the overflow count is still limited to 32767, which means that 
   it's enough that we clear bit #16 more often than that, and we know 
   that the fetchadd will never overflow into the high 15 bits.

and now you have:

 - spinlock:

	fetchadd4.acq r1=[p],1
	target = (r1 & 32767);
	if (target = (r1>>17))
		return; /* The 'acq' was enough */

	while ((ACCESS_ONCE(*p) >> 17) != target)
		cpu_relax();
	/* We need an smp_mb() because the 'acq' was long ago */
	smb_mb();

 - spinunlock

	/*
	 * High bits of the lock - we don't care about atomicity
	 * here, the 'fetchadd4' can't change the bits we care
	 * about.
	 */
	unsigned short *mem = 1+(unsigned short)lock;

	/*
	 * Make sure to clear bit #16 (the ~1 part) when we
	 * store the new value, add add one to bits 17..31 in
	 * the full 4-byte word (it's "*mem+2") to set the
	 * new ticket owner.
	 */
	unsigned short value = (*mem + 2) & ~1;

	/*
	 * Do the final unlock as a 16-bit store with release
	 * semantics
	 */
	st2.rel.nta value,[mem]

and that should work.

Of course, there may be some reason I don't know about why this is a 
violation of the Itanium memory ordering semantics (accessing that thing 
with two different memory access sizes, or maybe 'st2' doesn't have a 
'rel' thing that works or whatever).

Anyway, somebody who knows the Itanium memory ordering should really look 
at this, and even if you don't want to try to do a 4-byte spinlock, at 
least somebody should check the memory ordering with that whole read-loop 
for waiting. I really do believe that you need a memory barrier to make 
sure that the new ticket spinlocks actually work, because the 'fetchadd4' 
you use now doesn't seem to do that whole 'acquire' ordering, and even if 
it does, I don't think it helps for the case where you then have to do 
loads and wait for the value to change.

Hmm?

		Linus

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (39 preceding siblings ...)
  2009-09-27  0:00 ` Linus Torvalds
@ 2009-09-27  0:08 ` Linus Torvalds
  2009-09-27  4:54 ` Luck, Tony
                   ` (52 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-27  0:08 UTC (permalink / raw)
  To: linux-ia64



On Sat, 26 Sep 2009, Linus Torvalds wrote:
> 
>  - spinlock:
> 
> 	fetchadd4.acq r1=[p],1
> 	target = (r1 & 32767);

Oh, and this should have been "target = (r1+1) & 32767", since fetchadd 
will return the old value (I think), not the incremented one.

In general, that whole thing was meant to be more pseudo-code than 
anything directly working. As if that wasn't obvious from me freely mixing 
assembler code ('fetchadd4.acq' and 'st2.rel') with C-like pseudo-code.

But I checked, and 'st2.rel' seems to be a valid opcode, and the memory 
ordering constraints seems to be ok with mixing differently sized 
operations on the same memory. So I think my basic algorithm of 
using fetchadd4 should be ok.

			Linus

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (40 preceding siblings ...)
  2009-09-27  0:08 ` Linus Torvalds
@ 2009-09-27  4:54 ` Luck, Tony
  2009-09-27  5:18 ` Linus Torvalds
                   ` (51 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-27  4:54 UTC (permalink / raw)
  To: linux-ia64

> Hmm. There's a fetchadd4, but it has horrible semantics (very limited 
> constants).

Yes.  The lack of a fetchadd2 and the limited set of constants for
fetchadd4 is what drove me to this 8-byte implementation. More on this
below ...

> BTW, I also think that the memory ordering is not sufficient in the 
> current ia64 ticket locks. It does just a simple
>
>        do {
>                cpu_relax();
>        } while (ACCESS_ONCE(*p) != turn);
>
> to wait to get the spinlock, and even if the 'fetchadd' it did earlier was 
> done with 'acq', the reads in ACCESS_ONCE() are just normal reads, so the 
> code that is protected by that spinlock could easily have other reads or 
> writes that escape to _before_ the ACCESS_ONCE().

Actually the ACCESS_ONCE() macro does end up with a "ld4.acq" here (because
it defined with "volatile" in there, and the people that wrote the Itanium
ABI said that compilers must generate .acq, .rel for volatile access.

However, when I ran the generated code with the .acq in here past one
of the Itanium h/w architects, he said that it actually wasn't needed
because the cmp/branch would also prevent accesses from inside the
protected region from leaking out.  But keeping the .acq seems the safer
course in case gcc gets smarter and uses more predicates instead of the
cmp/branch AND also in case we go back to inlining the spin_lock() path.

>   This allows 32768 different CPU's.

And 640K of memory should be enough for anyone :-)  SGI booted with 4096
over a year ago ... so I'm not sure that 32768 cpus are really out of the
question.


> - spinunlock
>
>	/*
>	 * High bits of the lock - we don't care about atomicity
>	 * here, the 'fetchadd4' can't change the bits we care
>	 * about.
>	 */
>	unsigned short *mem = 1+(unsigned short)lock;

Doh!  Yes, of course!  I got tied up thinking that I needed to be able
to release the lock with an atomic fetchadd ... and couldn't work out
how to do that since fetchadd4 wouldn't take a large enough argument.
But you are right that we can do a non-atomic op.

>	unsigned short value = (*mem + 2) & ~1;
>
>	st2.rel.nta value,[mem]

This does suffer from the problem that you complained about for my
spin_lock() function ... we will first get the cache line in shared
mode and then have to upgrade to exclusive when we do the store ...
so the line may get stolen away from us by someone pulling a new ticket.
We could perhaps make it less of an issue by using "ld.bias" to get
the line exclusive to begin with.

-Tony

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (41 preceding siblings ...)
  2009-09-27  4:54 ` Luck, Tony
@ 2009-09-27  5:18 ` Linus Torvalds
  2009-09-27  5:20 ` Luck, Tony
                   ` (50 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-27  5:18 UTC (permalink / raw)
  To: linux-ia64



On Sat, 26 Sep 2009, Luck, Tony wrote:
> 
> Actually the ACCESS_ONCE() macro does end up with a "ld4.acq" here (because
> it defined with "volatile" in there, and the people that wrote the Itanium
> ABI said that compilers must generate .acq, .rel for volatile access.

Ahh, ok.

> However, when I ran the generated code with the .acq in here past one
> of the Itanium h/w architects, he said that it actually wasn't needed
> because the cmp/branch would also prevent accesses from inside the
> protected region from leaking out.

That seems to be purely an implementation (as opposed to architectural) 
detail.

But it looks like it is unlikely that we'll ever see an OoO ia64 
implementation, so I suspect that the implementations we have are all that 
matter.

> >   This allows 32768 different CPU's.
> 
> And 640K of memory should be enough for anyone :-)  SGI booted with 4096
> over a year ago ... so I'm not sure that 32768 cpus are really out of the
> question.

Well, the point is that we certainly don't support it _yet_. And if we 
ever do more than 32k CPU's, you'll have to recompile the kernel and have 
a 64-bit spinlock (the same way x86 does the 8/16-bit versions).

No sense in pessimizing the normal case if you can avoid it.

> >	unsigned short value = (*mem + 2) & ~1;
> >
> >	st2.rel.nta value,[mem]
> 
> This does suffer from the problem that you complained about for my
> spin_lock() function ... we will first get the cache line in shared
> mode and then have to upgrade to exclusive when we do the store ...

Yes. On the other hand, the common case for the spin_unlock should be that 
it's already dirty in the cache due to the preceding spin_lock(). So you'd 
have lost it from the cache only if there is contention, which should 
hopefully not be that common.

On x86, we avoid it by just doing a regular r-m-w operation (not atomic), 
which should be enough to get the "load with write intent" cache behavior. 
Apparently, on ia64 you can do the same with:

> We could perhaps make it less of an issue by using "ld.bias" to get
> the line exclusive to begin with.

Yes, sounds good.

			Linus

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (42 preceding siblings ...)
  2009-09-27  5:18 ` Linus Torvalds
@ 2009-09-27  5:20 ` Luck, Tony
  2009-09-28 19:02 ` Boehm, Hans
                   ` (49 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-27  5:20 UTC (permalink / raw)
  To: linux-ia64

Just for reference ... here is what gcc produces from the
code that I submitted for spin_lock (the spin_unlock gets
inlined as a single fetchadd4.rel):

a000000100805100 <_spin_lock>:
a000000100805100:       [MMI]       mov r2=r32;;
a000000100805106:                   ld4 r15=[r2],4
a00000010080510c:                   nop.i 0x0;;
a000000100805110:       [MII]       fetchadd4.acq r14=[r2],1
a000000100805116:                   nop.i 0x0
a00000010080511c:                   nop.i 0x0;;
a000000100805120:       [MIB]       mov r16=r14
a000000100805126:                   cmp4.eq p6,p7=r15,r14
a00000010080512c:             (p06) br.ret.dpnt.many b0
a000000100805130:       [MII]       hint.m 0x0
a000000100805136:                   nop.i 0x0
a00000010080513c:                   nop.i 0x0;;
a000000100805140:       [MMI]       nop.m 0x0
a000000100805146:                   ld4.acq r3=[r32]
a00000010080514c:                   nop.i 0x0;;
a000000100805150:       [MIB]       nop.m 0x0
a000000100805156:                   cmp4.eq p9,p8=r16,r3
a00000010080515c:             (p08) br.cond.dptk.few a000000100805130 <_spin_lock+0x30>
a000000100805160:       [MIB]       nop.m 0x0
a000000100805166:                   nop.i 0x0
a00000010080516c:                   br.ret.sptk.many b0;;

As I said, I ran this past a h/w guru who blessed its semantics
(while griping a little about some of the dumbness of gcc). He's
looking into whether we can improve the contended case using
ld4.c.nc (ia64 equivalent of mwait) to stall until the "now-serving"
value actually changes, rather than keep peeking at it.

I'll take a look at the performance of the 4-byte version of the lock
to see how it stacks up.  If that doesn't come out well, I can look
at improving the "ld4" ... "fetchadd4" cache transition issue that
you first complained about.

-Tony

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (43 preceding siblings ...)
  2009-09-27  5:20 ` Luck, Tony
@ 2009-09-28 19:02 ` Boehm, Hans
  2009-09-28 22:35 ` Luck, Tony
                   ` (48 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Boehm, Hans @ 2009-09-28 19:02 UTC (permalink / raw)
  To: linux-ia64

> From: Linus Torvalds
> Sent: Saturday, September 26, 2009 10:19 PM
> 
> On Sat, 26 Sep 2009, Luck, Tony wrote:
> 
> > However, when I ran the generated code with the .acq in 
> here past one 
> > of the Itanium h/w architects, he said that it actually 
> wasn't needed 
> > because the cmp/branch would also prevent accesses from inside the 
> > protected region from leaking out.
> 
> That seems to be purely an implementation (as opposed to 
> architectural) detail.
> 
> But it looks like it is unlikely that we'll ever see an OoO 
> ia64 implementation, so I suspect that the implementations we 
> have are all that matter.
> 
FWIW -

My reading of the Itanium architecture manual is that this is probably actually guaranteed at the level of the hardware.  The hardware explicitly enforces memory ordering based on dependence ordering (II-2.2.1.7 in the architecture manual and 3.3.4 (Data-Flow Dependence) in http://download.intel.com/design/Itanium/Downloads/25142901.pdf).  It is somewhere between challenging and impossible to efficiently implement Java on machines that don't provide some variant of this guarantee, at least for simple data dependences.

However, it may be difficult to guarantee that the compiler won't somehow manage to break such dependences, e.g. by speculatively performing a load from the critical section before the wait loop.

Hans 

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (44 preceding siblings ...)
  2009-09-28 19:02 ` Boehm, Hans
@ 2009-09-28 22:35 ` Luck, Tony
  2009-09-28 22:54 ` Linus Torvalds
                   ` (47 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-28 22:35 UTC (permalink / raw)
  To: linux-ia64

Here are the source and disassembled binary for the lock/unlock
routines modified as suggested by Linus to fit the lock word
back into 32-bits.

Performance for lock/unlock time in the uncontended in-cache case
is a little worse (another 8% on top of the 8% I'd already given
up compared to the original "xchg" version).  I haven't tried a
macro-level benchmark yet to see whether this makes it noticeable.

-Tony

#define TICKET_SHIFT	17
#define TICKET_BITS	15

static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock)
{
	int	*p = (int *)&lock->lock, ticket, serve;

	ticket = ia64_fetchadd(1, p, acq);

	if (!(((ticket >> TICKET_SHIFT) ^ ticket) & ((1L << TICKET_BITS) - 1)))
		return;

	do {
		cpu_relax();
		serve = ACCESS_ONCE(*p);
	} while (((serve >> TICKET_SHIFT) ^ ticket) & ((1 << TICKET_BITS) - 1));
}

a000000100815d00 <_spin_lock>:
a000000100815d00:       [MII]       fetchadd4.acq r14=[r32],1
a000000100815d06:                   nop.i 0x0
a000000100815d0c:                   nop.i 0x0;;
a000000100815d10:       [MII]       nop.m 0x0
a000000100815d16:                   extr r3=r14,17,15
a000000100815d1c:                   mov r172767
a000000100815d20:       [MMI]       mov r16=r14;;
a000000100815d26:                   xor r2=r14,r3
a000000100815d2c:                   nop.i 0x0;;
a000000100815d30:       [MII]       nop.m 0x0
a000000100815d36:                   extr.u r15=r2,0,15;;
a000000100815d3c:                   nop.i 0x0
a000000100815d40:       [MMB]       cmp.eq p6,p7=0,r15
a000000100815d46:                   nop.m 0x0
a000000100815d4c:             (p06) br.ret.dpnt.many b0
a000000100815d50:       [MMI]       hint.m 0x0
a000000100815d56:                   nop.m 0x0
a000000100815d5c:                   nop.i 0x0;;
a000000100815d60:       [MMI]       ld4.acq r11=[r32];;
a000000100815d66:                   nop.m 0x0
a000000100815d6c:                   extr r10=r11,17,15;;
a000000100815d70:       [MMI]       xor r9=r16,r10;;
a000000100815d76:                   and r8=r17,r9
a000000100815d7c:                   nop.i 0x0;;
a000000100815d80:       [MIB]       nop.m 0x0
a000000100815d86:                   cmp4.eq p9,p8=0,r8
a000000100815d8c:             (p08) br.cond.dptk.few a000000100815d50 <_spin_lock+0x50>
a000000100815d90:       [MIB]       nop.m 0x0
a000000100815d96:                   nop.i 0x0
a000000100815d9c:                   br.ret.sptk.many b0;;

static __always_inline void __ticket_spin_unlock(raw_spinlock_t *lock)
{
	unsigned short	*p = (unsigned short *)&lock->lock + 1, tmp;

	asm volatile ("ld2.bias %0=[%1]" : "=r"(tmp) : "r"(p));
	ACCESS_ONCE(*p) = (tmp + 2) & ~1;
}

a00000010000a4a0:       [MII]       mov r36e534
...
a00000010000a4d0:       [MII]       ld2.bias r9=[r34]
a00000010000a4d6:                   nop.i 0x0
a00000010000a4dc:                   nop.i 0x0;;
a00000010000a4e0:       [MMI]       adds r8=2,r9;;
a00000010000a4e6:                   and r3=r36,r8
a00000010000a4ec:                   nop.i 0x0
a00000010000a4f0:       [MMI]       nop.m 0x0;;
a00000010000a4f6:                   st2.rel [r34]=r3


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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (45 preceding siblings ...)
  2009-09-28 22:35 ` Luck, Tony
@ 2009-09-28 22:54 ` Linus Torvalds
  2009-09-28 23:01 ` Linus Torvalds
                   ` (46 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-28 22:54 UTC (permalink / raw)
  To: linux-ia64



On Mon, 28 Sep 2009, Luck, Tony wrote:
> 
> 	ticket = ia64_fetchadd(1, p, acq);
> 
> 	if (!(((ticket >> TICKET_SHIFT) ^ ticket) & ((1L << TICKET_BITS) - 1)))
> 		return;

I think the above is wrong.

Doesn't 'fetchadd' return the _old_ value? 

If so, the "fastcase" above will not trigger in the normal case, so you'll 
always fall down to the slowcase:

> 	do {
> 		cpu_relax();
> 		serve = ACCESS_ONCE(*p);
> 	} while (((serve >> TICKET_SHIFT) ^ ticket) & ((1 << TICKET_BITS) - 1));

Or did I miss something?

		Linus

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (46 preceding siblings ...)
  2009-09-28 22:54 ` Linus Torvalds
@ 2009-09-28 23:01 ` Linus Torvalds
  2009-09-28 23:01 ` Luck, Tony
                   ` (45 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-28 23:01 UTC (permalink / raw)
  To: linux-ia64



On Mon, 28 Sep 2009, Linus Torvalds wrote:
>
> Or did I miss something?

Never mind, it's all fine. It just depends on what you define "unlocked" 
to be, and "old value matches high bits is unlocked" is obviously the more 
attractive case than the one I was thinking of ("new value matches high 
bits"), since it makes a zero initializer be unlocked.

And it's what x86 does too. I don't know why I expected the "new value 
is the ticket" case.

		Linus

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (47 preceding siblings ...)
  2009-09-28 23:01 ` Linus Torvalds
@ 2009-09-28 23:01 ` Luck, Tony
  2009-09-29  0:03 ` Rick Jones
                   ` (44 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-28 23:01 UTC (permalink / raw)
  To: linux-ia64

>> 	ticket = ia64_fetchadd(1, p, acq);
>> 
>> 	if (!(((ticket >> TICKET_SHIFT) ^ ticket) & ((1L << TICKET_BITS) - 1)))
>> 		return;
>
> I think the above is wrong.
>
> Doesn't 'fetchadd' return the _old_ value?


Yes, It does return the old value ... but that it what we want.  When
we tear the ticket from the machine on the Deli counter, our ticket
number is the OLD value.  The updated value becomes the ticket number
for the next person to come along.

I.e. we start the lock with value 0x00000000, so the ticket showing is
0, and the now serving number is 0.  We fetchadd a ticket and the lock
goes to 0x00000001 ... and we own the lock because the ticket we pulled
matches the now-serving number.  When we are done we bumb the now-serving
value, so the lock goes to 0x00020001 and the lock is free again.

Did I do this differently from x86?

-Tony

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (48 preceding siblings ...)
  2009-09-28 23:01 ` Luck, Tony
@ 2009-09-29  0:03 ` Rick Jones
  2009-09-29  0:14 ` Linus Torvalds
                   ` (43 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Rick Jones @ 2009-09-29  0:03 UTC (permalink / raw)
  To: linux-ia64

Luck, Tony wrote:
> Here are the source and disassembled binary for the lock/unlock
> routines modified as suggested by Linus to fit the lock word
> back into 32-bits.
> 
> Performance for lock/unlock time in the uncontended in-cache case
> is a little worse (another 8% on top of the 8% I'd already given
> up compared to the original "xchg" version). 

Youch, that is 17% if I've done the math correctly.  This is to deal with 
contended locks more "fairly" correct?

> I haven't tried a macro-level benchmark yet to see whether this makes it
> noticeable.

Not exactly macro with a big M, but something like netperf aggregate TCP_RR 
would probably do a fair bit of lock/unlock exercise.

Taking ftp://ftp.netperf.org/netperf/netperf-2.4.5.tar.bz2

then

tar xjf netperf-2.4.5-tar.bz2
cd netperf-2.4.5
./configure --enable-burst --prefix=<your choice>
make install
netserver

and then it should be possible to see what the max single-connection, 
single-byte, aggregate TCP_RR perf is with something like:

for b in 0 1 4 16 64 256
do
netperf -t TCP_RR -i 30,3 -P 0 -B "burst $b" -- -r 1 -D -b $b
done

where the values for b can be as you choose - 0 means no additional transaction 
in flight at one time, so just the one synchronous transaction.  The -i 30,3 
means repeat each data point at least 3 times but no more than 30 to get the 
default confidence interval of 99% confident the result is within +/- 2.5% (you 
can make that stricter with -I 99,N where N is 2x the +/- you want).  The -P 0 
tells netperf to omit the test banner (makes the output more readable).  The -B 
is a user supplied tag emitted with the result.  The options after the "--" are 
test-specific - in this case -r 1 means request and response size of 1 byte, -D 
means set TCP_NODELAY and the -b $b means add an additional $b transactions in 
flight at one time on the connection.

You may need/want to mess with a global (before the "--") -T option to bind 
netperf/netserver to specific cores:

-T N   # both netperf and netserver to core N on their respective systems
-T N,  # just netperf to core N, netserver floats
-T  ,M # netperf floats, netserver to core M
-T N,M # netperf to N, netserver to M

Once you have come-up with the peak setting for the -b option, you can then do a 
variation on the theme to run multiple, concurrent netperfs:

for i in 1 2 ...
do
netperf -t TCP_RR -i 30 -P 0 -- -r 1 -D -b <burst> &
done

where now each backgrounded netperf will run 30 iterations no matter what - you 
may still want to mess about with the scripting and bind netperf/netserver as 
you wish, or not.  I find the binding helps make things more repeatable.

rick jones

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (49 preceding siblings ...)
  2009-09-29  0:03 ` Rick Jones
@ 2009-09-29  0:14 ` Linus Torvalds
  2009-09-29 17:53 ` Luck, Tony
                   ` (42 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-29  0:14 UTC (permalink / raw)
  To: linux-ia64



On Mon, 28 Sep 2009, Rick Jones wrote:
> 
> Youch, that is 17% if I've done the math correctly.  This is to deal with
> contended locks more "fairly" correct?

It's worth to note that if there is actual real contention, then a fair 
lock generally has lower throughput than a non-fair one, so that case is 
likely also slowed down, not just the non-contended one.

That said, I think it's been worth it on x86. We had some test-programs to 
show some rather extreme unfairness on x86, especially on big machines. 
With the lock local to one node, that node had a huge advantage in 
re-acquiring the lock, to the point where you had lock imbalances on the 
order of 10,000:1. At some point that becomes a real starvation issue, 
although obviously you'd hope that the kernel never gets even close to 
that much contention on any locks.

[ I also don't think it was anywhere near a 17% hit on x86 in general - 
  although xadd _was_ noticeably slower on some microarchitectures than a 
  regular 'inc' due to being microcoded or something, so it was a hit on 
  _some_ microarchitectures ]

That said, the 8% slowdown sounds like a real problem. Maybe Tony's 
original version (perhaps with a "ld.bias" to get the initial load to try 
to get exclusive ownership) is worth the size expansion. On x86, we have 
atomic 8-bit and 16-bit operations with arbitrary immediates, so there's 
not the silly overhead from the shifting and masking.

		Linus

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (50 preceding siblings ...)
  2009-09-29  0:14 ` Linus Torvalds
@ 2009-09-29 17:53 ` Luck, Tony
  2009-09-29 18:07 ` Linus Torvalds
                   ` (41 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-09-29 17:53 UTC (permalink / raw)
  To: linux-ia64

> That said, the 8% slowdown sounds like a real problem. Maybe Tony's 
> original version (perhaps with a "ld.bias" to get the initial load to try 
> to get exclusive ownership) is worth the size expansion

The 8%/16% numbers are absolute worst case values.  They are based on
the time to acquire and release a lock in the case where the lock is
resident in the L1 cache of the cpu running the code.  So I'm looking
at 24 cycles for the old xchg-based version. 26 cycles for 8-byte ticket
locks and 28-cycles for 4-byte ticket locks.

The real world is likely to be much kinder.  If the lock is being
acquired by different cpus, then we'll have to go to memory (or remote
cache, which is just as bad) to get the lock. Then the 2-4 extra cycles
will be a much tinier percentage of the total.  Even if the lock is being
mostly used by a single cpu with only occasional remote access, it still
isn't likely to live in the L1 cache ... so we'd see another 14 cycles if
we had to pull it back into L1 from L3.

Any feel for how much memory this is going to cost?  Although there is
a spinlock inside "struct page" it is buried in a union with a larger
structure. So changing from 4 to 8 bytes makes no difference to the
total size of the structure.  For statically declared locks the
difference reported by "size vmlinux" is laughably small (~4KB!)

What will be the big areas of growth? dentry? inode? Something off
in networking?

-Tony

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (51 preceding siblings ...)
  2009-09-29 17:53 ` Luck, Tony
@ 2009-09-29 18:07 ` Linus Torvalds
  2009-09-30  0:54 ` Robin Holt
                   ` (40 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-29 18:07 UTC (permalink / raw)
  To: linux-ia64



On Tue, 29 Sep 2009, Luck, Tony wrote:
> 
> What will be the big areas of growth? dentry? inode? Something off
> in networking?

I'd pick dentry, but I'm biased (I happen to think the dcache is one of 
the most important data structures we have). Right now, in x86-64, we lay 
out the spinlock along with the other int-sized things, and we've tried to 
pack things over the years (ie put the commonly accessed ones together). 

See for example commit c2452f32786159ed85f0e4b21fec09258f822fc8.

I do agree that none of the static spinlocks care about size, obviously. 
The only time the size of a spinlock matters is when it's embedded in one 
of the critical common data structures. And in _many_ cases you'll have 
pointers there that end up forcing it to 64-bit, but 'struct dentry' is an 
example of something where things can be (and are) more densely packed, 
and people have spent some time on it.

		Linus

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (52 preceding siblings ...)
  2009-09-29 18:07 ` Linus Torvalds
@ 2009-09-30  0:54 ` Robin Holt
  2009-09-30  1:24 ` Linus Torvalds
                   ` (39 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Robin Holt @ 2009-09-30  0:54 UTC (permalink / raw)
  To: linux-ia64

Tony,

Any idea how difficult it will be to re-enable interrupts inside the
contended lock case?  Without thinking about it, it feels like it
will be impossible.  That is likely going to be a significant issue on
larger systems.

Thanks,
Robin

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (53 preceding siblings ...)
  2009-09-30  0:54 ` Robin Holt
@ 2009-09-30  1:24 ` Linus Torvalds
  2009-09-30  1:30 ` Linus Torvalds
                   ` (38 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-30  1:24 UTC (permalink / raw)
  To: linux-ia64



On Tue, 29 Sep 2009, Robin Holt wrote:
> 
> Any idea how difficult it will be to re-enable interrupts inside the
> contended lock case?  Without thinking about it, it feels like it
> will be impossible.

With a ticket lock, taking an interrupt while waiting ends up being 
exactly the same as taking an interrupt while holding it, so yeah, if you 
have an interrupt-safe lock, you can't re-enable interrupts while waiting 
for the lock. You're basically holding on to your place in the line even 
before you've actually gotten permission to proceed.

That's obviously where the fairness comes from, but it is also what makes 
it impossible to let interrupts come in - because even when you're just 
spinning on the previous user, you've already marked the spinlock as being 
busy for the next one.

Of course, even if you were able to re-enable interrupts while spinning, 
if an interrupt actually happens and then needs the lock, that interrupt 
will have high latency _anyway_. So re-enabling interrupts doesn't help in 
any fundamental way, although it can make it much less likely that you'll 
hit the bad case.

That may sound like ticket locks are nasty, but there are some upsides. In 
particular, the fairness of the ticket locks means that latencies are be 
bounded. And just for that simple reason there is often much less reason 
to worry about having to re-enable interrupts: the bounded upper case is 
not true of traditional locks.

Whether the bounds are sufficient for your situation is obviously an issue 
and depends on your load, but even in the presense of extreme contention 
it then boils down to: don't protect costly operations with interrupt-safe 
spinlocks, so that the bound (nr_cpus*cost) doesn't grow too large. And we 
generally don't.

Of course, in extreme situations you might want the RT kernel and then 
generally not ever actually disable the _real_ interrupts.

			Linus

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (54 preceding siblings ...)
  2009-09-30  1:24 ` Linus Torvalds
@ 2009-09-30  1:30 ` Linus Torvalds
  2009-09-30  2:46 ` Robin Holt
                   ` (37 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-30  1:30 UTC (permalink / raw)
  To: linux-ia64



On Tue, 29 Sep 2009, Linus Torvalds wrote:
> 
> That may sound like ticket locks are nasty, but there are some upsides. In 
> particular, the fairness of the ticket locks means that latencies are 
> bounded. And just for that simple reason there is often much less reason 
> to worry about having to re-enable interrupts: the bounded upper case is 
> not true of traditional locks.

Just to continue on that point: with the old locks on x86, we had test 
loads that had basically 10,000:1 factors of unfairness, where one CPU 
would continually get the lock because it was hot in _its_ caches, and all 
other CPU's would almost always fail.

In that situation, re-enabling interrupts can be critical, just because 
they might be disabled for many thousands of iterations of the spinlock 
being busy on another CPU.

With the ticket locks, you'd need to have a _huge_ machine in order to 
ever see that kind of situation (ie now you'd need to see thousands of 
CPU's all trying to get that lock in order to see latencies that are a 
thousand iterations of whatever happens inside the spinlock). And in 
practice, with good locking, you should never see that. If you actually 
have thousands of CPU's (or even hundreds) all wanting the same lock at 
the same time, you're just going to have to fix the locking.

			Linus

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (55 preceding siblings ...)
  2009-09-30  1:30 ` Linus Torvalds
@ 2009-09-30  2:46 ` Robin Holt
  2009-09-30  2:56 ` Linus Torvalds
                   ` (36 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Robin Holt @ 2009-09-30  2:46 UTC (permalink / raw)
  To: linux-ia64

On Tue, Sep 29, 2009 at 06:30:02PM -0700, Linus Torvalds wrote:
> Just to continue on that point: with the old locks on x86, we had test 
> loads that had basically 10,000:1 factors of unfairness, where one CPU 
> would continually get the lock because it was hot in _its_ caches, and all 
> other CPU's would almost always fail.
> 
> In that situation, re-enabling interrupts can be critical, just because 
> they might be disabled for many thousands of iterations of the spinlock 
> being busy on another CPU.
> 
> With the ticket locks, you'd need to have a _huge_ machine in order to 
> ever see that kind of situation (ie now you'd need to see thousands of 
> CPU's all trying to get that lock in order to see latencies that are a 
> thousand iterations of whatever happens inside the spinlock). And in 
> practice, with good locking, you should never see that. If you actually 
> have thousands of CPU's (or even hundreds) all wanting the same lock at 
> the same time, you're just going to have to fix the locking.

If I recall the problems correctly, it is typically a case where a lock
is held for an extended period of time for "legitimate" reasons. That
will cause interrupts to be disabled on key cpus for an unusually long
period of time (cpu 0 has been extremely problematic in holding off
timers, but I/O targeted interrupts have also caused difficult to diagnose
erratic I/O patterns).

NOTE: I put "legitimate" in quotes because I realize legitimate is often
being used as a synonym for either a) the maintainer of that part of
the kernel refuses to allow their code to be restructured for a minor
sub-arch because it makes their code more complex or b) the people seeing
the issue don't have the time to diagnose and fix the problem right now.
"Legitimate", therefore, is in the eyes of the beholder.

Thanks,
Robin

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (56 preceding siblings ...)
  2009-09-30  2:46 ` Robin Holt
@ 2009-09-30  2:56 ` Linus Torvalds
  2009-09-30 18:00 ` Rick Jones
                   ` (35 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2009-09-30  2:56 UTC (permalink / raw)
  To: linux-ia64



On Tue, 29 Sep 2009, Robin Holt wrote:
> 
> If I recall the problems correctly, it is typically a case where a lock
> is held for an extended period of time for "legitimate" reasons. That
> will cause interrupts to be disabled on key cpus for an unusually long
> period of time (cpu 0 has been extremely problematic in holding off
> timers, but I/O targeted interrupts have also caused difficult to diagnose
> erratic I/O patterns).

Sure. But that case has nothing to do with the lock itself - the long 
latencies are independent of locking mechanism.

Of course, they'll only happen on _that_ CPU while it is holding the lock, 
and ticket locks may end up transferring the latency to other CPU's too 
due to having interrupts disabled while waiting, but that doesn't actually 
affect the overall bad system latency as much as how often you hit the 
latency issue. The ticket locks can certainly cause you to hit it more 
often.

On the other hand, the kind of problems we _used_ to have (before ticket 
locks) was that even if the long-time holder tried to be nice, and 
released the lock for a short while (only to then immediately re-take it), 
it wouldn't help other CPU's. The ticket locks help that case: with ticket 
locks, you can basically have something like

	if (lock_contended(lock)) {
		unlock(lock);
		lock(lock);
	}

that acts as a preemption point, kind of like the "cond_resched()" calls 
we have sprinkled around for cases that otherwise might have long preempt 
latencies.

Without ticket locks, you can't sanely do the above. With them, it works 
(although you'd better have a damn good reason for crap like that).

			Linus

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (57 preceding siblings ...)
  2009-09-30  2:56 ` Linus Torvalds
@ 2009-09-30 18:00 ` Rick Jones
  2009-11-02 18:07 ` Luck, Tony
                   ` (34 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Rick Jones @ 2009-09-30 18:00 UTC (permalink / raw)
  To: linux-ia64

Linus Torvalds wrote:
> 
> On Tue, 29 Sep 2009, Linus Torvalds wrote:
> 
>>That may sound like ticket locks are nasty, but there are some upsides. In 
>>particular, the fairness of the ticket locks means that latencies are 
>>bounded. And just for that simple reason there is often much less reason 
>>to worry about having to re-enable interrupts: the bounded upper case is 
>>not true of traditional locks.
> 
> 
> Just to continue on that point: with the old locks on x86, we had test 
> loads that had basically 10,000:1 factors of unfairness, where one CPU 
> would continually get the lock because it was hot in _its_ caches, and all 
> other CPU's would almost always fail.
> 
> In that situation, re-enabling interrupts can be critical, just because 
> they might be disabled for many thousands of iterations of the spinlock 
> being busy on another CPU.
> 
> With the ticket locks, you'd need to have a _huge_ machine in order to 
> ever see that kind of situation (ie now you'd need to see thousands of 
> CPU's all trying to get that lock in order to see latencies that are a 
> thousand iterations of whatever happens inside the spinlock). And in 
> practice, with good locking, you should never see that. If you actually 
> have thousands of CPU's (or even hundreds) all wanting the same lock at 
> the same time, you're just going to have to fix the locking.

Doesn't that argument cut both ways?  That "good locking" would not have the 
contention and so the unfairness that was addressed via tickets?

rick jones

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (58 preceding siblings ...)
  2009-09-30 18:00 ` Rick Jones
@ 2009-11-02 18:07 ` Luck, Tony
  2009-12-15 22:33 ` Luck, Tony
                   ` (33 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-11-02 18:07 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/spinlock.h       |   62 +++++++++++++-------
 arch/ia64/include/asm/spinlock_types.h |    2 +-
 arch/ia64/kernel/mca.c                 |  104 +++++++++++++++++--------------
 arch/ia64/kernel/unaligned.c           |    6 +-
 arch/ia64/mm/tlb.c                     |   24 ++++++--
 arch/ia64/pci/pci.c                    |    9 ++-
 arch/ia64/sn/kernel/io_common.c        |    8 +--
 arch/ia64/sn/kernel/sn2/sn_hwperf.c    |    7 +-
 8 files changed, 132 insertions(+), 90 deletions(-)

Marcin Slusarz (1):
      [IA64] use printk_once() unaligned.c/io_common.c

Matthew Wilcox (1):
      [IA64] Require SAL 3.2 in order to do extended config space ops

Randy Dunlap (1):
      [IA64] fix percpu warnings

Roel Kluin (1):
      [IA64] unsigned cannot be less than 0 in sn_hwperf_ioctl()

Takao Indoh (1):
      [IA64] Restore registers in the stack on INIT

Tony Luck (4):
      [IA64] Squeeze ticket locks back into 4 bytes.
      [IA64] Re-implement spinaphores using ticket lock concepts
      [IA64] SMT friendly version of spin_unlock_wait()
      Revert "[IA64] fix percpu warnings"


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (59 preceding siblings ...)
  2009-11-02 18:07 ` Luck, Tony
@ 2009-12-15 22:33 ` Luck, Tony
  2010-01-08 17:20 ` Luck, Tony
                   ` (32 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2009-12-15 22:33 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/hp/common/sba_iommu.c |   38 +++++++++++++++++++++++++++++---------
 arch/ia64/include/asm/hw_irq.h  |    6 ++++++
 arch/ia64/include/asm/io.h      |    2 ++
 arch/ia64/include/asm/mca.h     |    5 +++++
 arch/ia64/include/asm/rwsem.h   |    2 +-
 arch/ia64/kernel/irq_ia64.c     |    6 +-----
 arch/ia64/kernel/mca.c          |   11 ++++++++---
 arch/ia64/mm/ioremap.c          |   11 +++++++++++
 8 files changed, 63 insertions(+), 18 deletions(-)

FUJITA Tomonori (1):
      [IA64] fix SBA IOMMU to handle allocation failure properly

Kenji Kaneshige (1):
      [IA64] preallocate IA64_IRQ_MOVE_VECTOR

Takao Indoh (1):
      [IA64] Save I-resources to ia64_sal_os_state

Thomas Gleixner (1):
      [IA64] Replace old style lock initializer

Tony Luck (1):
      [IA64] implement early_io{re,un}map for ia64


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (60 preceding siblings ...)
  2009-12-15 22:33 ` Luck, Tony
@ 2010-01-08 17:20 ` Luck, Tony
  2010-01-08 17:35 ` Linus Torvalds
                   ` (31 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-01-08 17:20 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/ftrace.h   |    1 -
 arch/ia64/include/asm/kprobes.h  |    5 -----
 arch/ia64/include/asm/tlb.h      |    2 +-
 arch/ia64/include/asm/topology.h |    4 +++-
 arch/ia64/include/asm/types.h    |    5 +++++
 arch/ia64/kernel/mca.c           |    5 ++++-
 arch/ia64/kernel/perfmon.c       |    2 +-
 arch/ia64/mm/init.c              |    2 +-
 arch/ia64/mm/tlb.c               |   32 +++++++++++++++++++-------------
 9 files changed, 34 insertions(+), 24 deletions(-)

Anton Blanchard (1):
      [IA64] cpumask_of_node() should handle -1 as a node

Jiri Slaby (1):
      [IA64] use helpers for rlimits

Tony Luck (2):
      [IA64] sanity in #include files.  Move fnptr to types.h
      [IA64] __per_cpu_idtrs[] is a memory hog


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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (61 preceding siblings ...)
  2010-01-08 17:20 ` Luck, Tony
@ 2010-01-08 17:35 ` Linus Torvalds
  2010-01-08 17:49 ` Luck, Tony
                   ` (30 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2010-01-08 17:35 UTC (permalink / raw)
  To: linux-ia64



On Fri, 8 Jan 2010, Luck, Tony wrote:
> 
> please pull from:
> 
> 	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release
> 
> This will update the files shown below.

Hmm. Pulled, but I think that "struct fnptr" thing in <asm/types.h> should 
_really_ be inside the #ifdef __KERNEL__ that is a few lines down.

There's no way that type is valid to export to user space.

		Linus

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (62 preceding siblings ...)
  2010-01-08 17:35 ` Linus Torvalds
@ 2010-01-08 17:49 ` Luck, Tony
  2010-01-08 19:24 ` Luck, Tony
                   ` (29 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-01-08 17:49 UTC (permalink / raw)
  To: linux-ia64

> Hmm. Pulled, but I think that "struct fnptr" thing in <asm/types.h> should 
> _really_ be inside the #ifdef __KERNEL__ that is a few lines down.
>
> There's no way that type is valid to export to user space.


Oops.  Yes.  I'll move it in another patch.

-Tony

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (63 preceding siblings ...)
  2010-01-08 17:49 ` Luck, Tony
@ 2010-01-08 19:24 ` Luck, Tony
  2010-02-16 19:43 ` Luck, Tony
                   ` (28 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-01-08 19:24 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

Pull again from my tree to get the fix to move the fnptr definition
as you suggested:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/types.h |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

Tony Luck (1):
      [IA64] move fnptr definition inside #ifdef __KERNEL__


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (64 preceding siblings ...)
  2010-01-08 19:24 ` Luck, Tony
@ 2010-02-16 19:43 ` Luck, Tony
  2010-02-24 17:32 ` Luck, Tony
                   ` (27 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-02-16 19:43 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/elf.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Tony Luck (1):
      [IA64] preserve personality flag bits across exec


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (65 preceding siblings ...)
  2010-02-16 19:43 ` Luck, Tony
@ 2010-02-24 17:32 ` Luck, Tony
  2010-03-01 18:11 ` Luck, Tony
                   ` (26 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-02-24 17:32 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/sn/kernel/setup.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Hedi Berriche (1):
      [IA64] Fix broken sn2 build


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (66 preceding siblings ...)
  2010-02-24 17:32 ` Luck, Tony
@ 2010-03-01 18:11 ` Luck, Tony
  2010-05-18 17:11 ` Luck, Tony
                   ` (25 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-03-01 18:11 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.  The lone non-ia64 file touched
(drivers/input/input-compat.h) just has some ia64 specific #ifdef code
removed like this:

diff --git a/drivers/input/input-compat.h b/drivers/input/input-compat.h
index 47cd9ea..4d8ea32 100644
--- a/drivers/input/input-compat.h
+++ b/drivers/input/input-compat.h
@@ -21,8 +21,6 @@
    you why the ifdefs are needed? Think about it again. -AK */
 #ifdef CONFIG_X86_64
 #  define INPUT_COMPAT_TEST is_compat_task()
-#elif defined(CONFIG_IA64)
-#  define INPUT_COMPAT_TEST IS_IA32_PROCESS(task_pt_regs(current))
 #elif defined(CONFIG_S390)
 #  define INPUT_COMPAT_TEST test_thread_flag(TIF_31BIT)
 #elif defined(CONFIG_MIPS)

Thanks!

-Tony

 arch/ia64/Kconfig                     |   17 -
 arch/ia64/Makefile                    |    1 -
 arch/ia64/configs/bigsur_defconfig    |    2 -
 arch/ia64/configs/generic_defconfig   |    2 -
 arch/ia64/configs/gensparse_defconfig |    2 -
 arch/ia64/configs/sim_defconfig       |    2 -
 arch/ia64/configs/tiger_defconfig     |    1 -
 arch/ia64/configs/xen_domu_defconfig  |    2 -
 arch/ia64/configs/zx1_defconfig       |    2 -
 arch/ia64/ia32/Makefile               |   11 -
 arch/ia64/ia32/audit.c                |   42 -
 arch/ia64/ia32/binfmt_elf32.c         |  245 ---
 arch/ia64/ia32/elfcore32.h            |  148 --
 arch/ia64/ia32/ia32_entry.S           |  468 ------
 arch/ia64/ia32/ia32_ldt.c             |  146 --
 arch/ia64/ia32/ia32_signal.c          | 1010 ------------
 arch/ia64/ia32/ia32_support.c         |  253 ---
 arch/ia64/ia32/ia32_traps.c           |  156 --
 arch/ia64/ia32/ia32priv.h             |  532 -------
 arch/ia64/ia32/sys_ia32.c             | 2765 ---------------------------------
 arch/ia64/include/asm/acpi.h          |   25 +
 arch/ia64/include/asm/ia32.h          |   40 -
 arch/ia64/include/asm/processor.h     |   46 -
 arch/ia64/include/asm/scatterlist.h   |   24 +-
 arch/ia64/include/asm/syscall.h       |   81 -
 arch/ia64/include/asm/system.h        |   11 +-
 arch/ia64/include/asm/unistd.h        |   14 -
 arch/ia64/kernel/Makefile             |    6 +-
 arch/ia64/kernel/acpi.c               |   33 +-
 arch/ia64/kernel/audit.c              |   21 -
 arch/ia64/kernel/entry.S              |   39 -
 arch/ia64/kernel/ivt.S                |  114 --
 arch/ia64/kernel/perfmon.c            |    4 +-
 arch/ia64/kernel/process.c            |   59 +-
 arch/ia64/kernel/ptrace.c             |   14 +-
 arch/ia64/kernel/setup.c              |    5 -
 arch/ia64/kernel/signal.c             |   54 +-
 arch/ia64/kernel/smpboot.c            |    5 -
 arch/ia64/kernel/traps.c              |    9 -
 arch/ia64/mm/init.c                   |    5 -
 arch/ia64/uv/kernel/setup.c           |    2 +-
 arch/ia64/xen/hypercall.S             |    5 -
 arch/ia64/xen/xen_pv_ops.c            |   16 -
 drivers/input/input-compat.h          |    2 -
 44 files changed, 56 insertions(+), 6385 deletions(-)
 delete mode 100644 arch/ia64/ia32/Makefile
 delete mode 100644 arch/ia64/ia32/audit.c
 delete mode 100644 arch/ia64/ia32/binfmt_elf32.c
 delete mode 100644 arch/ia64/ia32/elfcore32.h
 delete mode 100644 arch/ia64/ia32/ia32_entry.S
 delete mode 100644 arch/ia64/ia32/ia32_ldt.c
 delete mode 100644 arch/ia64/ia32/ia32_signal.c
 delete mode 100644 arch/ia64/ia32/ia32_support.c
 delete mode 100644 arch/ia64/ia32/ia32_traps.c
 delete mode 100644 arch/ia64/ia32/ia32priv.h
 delete mode 100644 arch/ia64/ia32/sys_ia32.c
 delete mode 100644 arch/ia64/include/asm/ia32.h

Alex Chiang (2):
      [IA64] Only build arch/ia64/kernel/acpi.o when CONFIG_ACPI
      [IA64] build arch/ia64/kernel/acpi-ext.o when CONFIG_ACPI

FUJITA Tomonori (1):
      [IA64] use asm-generic/scatterlist.h

Frans Pop (1):
      [IA64] remove trailing space in messages

Roel Kluin (1):
      [IA64] wrong attribute of HUB chip written in uv_setup()

Tony Luck (1):
      [IA64] Remove COMPAT_IA32 support


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (67 preceding siblings ...)
  2010-03-01 18:11 ` Luck, Tony
@ 2010-05-18 17:11 ` Luck, Tony
  2010-05-18 20:43 ` Robin Holt
                   ` (24 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-05-18 17:11 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig                       |    3 ---
 arch/ia64/hp/common/sba_iommu.c         |    8 ++++----
 arch/ia64/include/asm/mmzone.h          |    4 ----
 arch/ia64/kernel/cpufreq/acpi-cpufreq.c |   10 +++++-----
 arch/ia64/kernel/entry.S                |    8 ++++++++
 arch/ia64/kernel/irq_ia64.c             |    9 +++------
 arch/ia64/kernel/process.c              |    2 +-
 arch/ia64/kernel/salinfo.c              |    5 ++---
 arch/ia64/kernel/topology.c             |    4 ++--
 arch/ia64/kernel/unaligned.c            |   24 +++++-------------------
 arch/ia64/mm/fault.c                    |   13 +++----------
 arch/ia64/sn/kernel/sn2/sn_hwperf.c     |    4 ++--
 12 files changed, 35 insertions(+), 59 deletions(-)

Akinobu Mita (1):
      [IA64] use __ratelimit

Jiri Olsa (1):
      [IA64] removing redundant ifdef

Joe Perches (1):
      [IA64] arch/ia64/hp/common/sba_iommu.c: Rename dev_info to adi

Julia Lawall (2):
      [IA64] Use set_cpus_allowed_ptr
      [IA64] Use set_cpus_allowed_ptr

Tony Luck (1):
      [IA64] Drop duplicated "config IOMMU_HELPER"

holt@sgi.com (1):
      [IA64] ia64 does not pass stack_start != 0 while copy_process expects it.

npiggin@suse.de (1):
      [IA64] invoke oom-killer from page fault


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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (68 preceding siblings ...)
  2010-05-18 17:11 ` Luck, Tony
@ 2010-05-18 20:43 ` Robin Holt
  2010-05-18 22:04 ` Luck, Tony
                   ` (23 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Robin Holt @ 2010-05-18 20:43 UTC (permalink / raw)
  To: linux-ia64

> holt@sgi.com (1):
>       [IA64] ia64 does not pass stack_start != 0 while copy_process expects it.

Wait!!!  I ended up finding a bigger bug in the general kernel.
I don't think this patch should go in.

Thanks,
Robin

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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (69 preceding siblings ...)
  2010-05-18 20:43 ` Robin Holt
@ 2010-05-18 22:04 ` Luck, Tony
  2010-07-01 15:22 ` Luck, Tony
                   ` (22 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-05-18 22:04 UTC (permalink / raw)
  To: linux-ia64

> Wait!!!  I ended up finding a bigger bug in the general kernel.
> I don't think this patch should go in.

Ok. I'll redo my tree and issue a new pull request without this one.

-Tony

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (70 preceding siblings ...)
  2010-05-18 22:04 ` Luck, Tony
@ 2010-07-01 15:22 ` Luck, Tony
  2010-08-04 16:09 ` Luck, Tony
                   ` (21 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-07-01 15:22 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

Regression dates back to 2.6.32 - but I think this fits into the
"serious" bug category for late inclusion.

Thanks!

-Tony

 arch/ia64/mm/tlb.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Tony Luck (1):
      [IA64] Fix spinaphore down_spin()

commit b70f4e85bfc4d7000036355b714a92d5c574f1be
Author: Tony Luck <tony.luck@intel.com>
Date:   Wed Jun 30 10:46:16 2010 -0700

    [IA64] Fix spinaphore down_spin()
    
    Typo in down_spin() meant it only read the low 32 bits of the
    "serve" value, instead of the full 64 bits. This results in the
    system hanging when the values in ticket/serve get larger than
    32-bits. A big enough system running the right test can hit this
    in a just a few hours.
    
    Broken since 883a3acf5b0d4782ac35981227a0d094e8b44850
        [IA64] Re-implement spinaphores using ticket lock concepts
    
    Reported via IRC by Bjorn Helgaas
    
    Signed-off-by: Tony Luck <tony.luck@intel.com>

diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c
index 5dfd916..7b3cdc6 100644
--- a/arch/ia64/mm/tlb.c
+++ b/arch/ia64/mm/tlb.c
@@ -121,7 +121,7 @@ static inline void down_spin(struct spinaphore *ss)
 	ia64_invala();
 
 	for (;;) {
-		asm volatile ("ld4.c.nc %0=[%1]" : "=r"(serve) : "r"(&ss->serve) : "memory");
+		asm volatile ("ld8.c.nc %0=[%1]" : "=r"(serve) : "r"(&ss->serve) : "memory");
 		if (time_before(t, serve))
 			return;
 		cpu_relax();

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (71 preceding siblings ...)
  2010-07-01 15:22 ` Luck, Tony
@ 2010-08-04 16:09 ` Luck, Tony
  2010-08-14  4:04 ` Luck, Tony
                   ` (20 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-08-04 16:09 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/configs/bigsur_defconfig    | 1428 ++------------------------
 arch/ia64/configs/generic_defconfig   | 1788 ++++-----------------------------
 arch/ia64/configs/gensparse_defconfig | 1493 +++------------------------
 arch/ia64/configs/sim_defconfig       |  756 +-------------
 arch/ia64/configs/tiger_defconfig     | 1356 +++----------------------
 arch/ia64/configs/xen_domu_defconfig  | 1678 +++----------------------------
 arch/ia64/configs/zx1_defconfig       | 1681 +++-----------------------------
 arch/ia64/include/asm/page.h          |    2 +-
 arch/ia64/kernel/perfmon.c            |   22 +-
 arch/ia64/kernel/vmlinux.lds.S        |  362 ++++----
 10 files changed, 1058 insertions(+), 9508 deletions(-)

Arnd Bergmann (1):
      [IA64] perfmon: convert to unlocked_ioctl

Sam Ravnborg (1):
      [IA64] beautify vmlinux.lds.h

Tony Luck (2):
      [IA64] Put ia64 config files on the Uwe Kleine-König diet
      [IA64] increase ia64 static per cpu area


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (72 preceding siblings ...)
  2010-08-04 16:09 ` Luck, Tony
@ 2010-08-14  4:04 ` Luck, Tony
  2010-08-18 20:06 ` Luck, Tony
                   ` (19 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-08-14  4:04 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.  Final fix for the rwsem
problem. Also the three new syscalls for this release.

Thanks!

-Tony

 arch/ia64/include/asm/atomic.h |    8 ++++----
 arch/ia64/include/asm/unistd.h |    5 ++++-
 arch/ia64/kernel/entry.S       |    3 +++
 3 files changed, 11 insertions(+), 5 deletions(-)

Tony Luck (2):
      [IA64] Fix 64-bit atomic routines to return "long"
      [IA64] Add latest crop of syscalls


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (73 preceding siblings ...)
  2010-08-14  4:04 ` Luck, Tony
@ 2010-08-18 20:06 ` Luck, Tony
  2010-09-13 18:33 ` Luck, Tony
                   ` (18 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-08-18 20:06 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/unistd.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

Tony Luck (1):
      [IA64] Fix build error: conflicting types for ‘sys_execve’


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (74 preceding siblings ...)
  2010-08-18 20:06 ` Luck, Tony
@ 2010-09-13 18:33 ` Luck, Tony
  2010-09-14  6:06 ` Petr Tesarik
                   ` (17 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-09-13 18:33 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

---

I committed the fix for this last week prior to your -rc4 announcement
reminding us to give proper "Reported-by:" credit.  This one should have
had:

Reported-by: Tony Ernst <tee@sgi.com>

and also

Much-useful-investigation-and-tracing-by: Hedi Berriche <hedi@sgi.com>
Much-useful-investigation-and-tracing-by: Petr Tesarik <ptesarik@novell.com>

 arch/ia64/kernel/fsys.S |   46 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 39 insertions(+), 7 deletions(-)

Tony Luck (1):
      [IA64] fix siglock


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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (75 preceding siblings ...)
  2010-09-13 18:33 ` Luck, Tony
@ 2010-09-14  6:06 ` Petr Tesarik
  2010-09-14  7:02 ` Petr Tesarik
                   ` (16 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Petr Tesarik @ 2010-09-14  6:06 UTC (permalink / raw)
  To: linux-ia64

Luck, Tony píše v Po 13. 09. 2010 v 11:33 -0700:
> Hi Linus,
> 
> please pull from:
> 
> 	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release
> 
> This will update the files shown below.

Hi Tony,

oops, it seems I shouldn't have gone on a short vacation with the
kids... :/

Actually, your patch works perfectly for me, but it spoils the highly
optimized fsyscall, so I invested some additional time into it and came
up with the following:

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>

 arch/ia64/kernel/fsys.S |   33 +++++++++++++++++++++++----------
 1 file changed, 23 insertions(+), 10 deletions(-)

diff -u a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S
--- a/arch/ia64/kernel/fsys.S	2009-12-03 04:51:21.000000000 +0100
+++ b/arch/ia64/kernel/fsys.S	2010-09-14 08:00:20.000000000 +0200
@@ -420,22 +420,30 @@
 	;;
 
 	RSM_PSR_I(p0, r18, r19)			// mask interrupt delivery
-	mov ar.ccv=0
 	andcm r14=r14,r17			// filter out SIGKILL & SIGSTOP
+	mov r8=EINVAL			// default to EINVAL
 
 #ifdef CONFIG_SMP
-	mov r17=1
-	;;
-	cmpxchg4.acq r18=[r31],r17,ar.ccv	// try to acquire the lock
-	mov r8=EINVAL			// default to EINVAL
+	// __ticket_spin_trylock(r31)
+	ld4 r17=[r31]
 	;;
+	mov.m ar.ccv=r17
+	extr.u r9=r17,17,15
+	adds r19=1,r17
+	extr.u r18=r17,0,15
+	;;
+	cmp.eq p6,p7=r9,r18
+	;;
+(p6)	cmpxchg4.acq r9=[r31],r19,ar.ccv
+(p6)	dep.z r20=r19,1,15		// next serving ticket for unlock
+(p7)	br.cond.spnt.many .lock_contention
+	;;
+	cmp4.eq p0,p7=r9,r17
+	adds r31=2,r31
+(p7)	br.cond.spnt.many .lock_contention
 	ld8 r3=[r2]			// re-read current->blocked now that we hold the lock
-	cmp4.ne p6,p0=r18,r0
-(p6)	br.cond.spnt.many .lock_contention
 	;;
 #else
 	ld8 r3=[r2]			// re-read current->blocked now that we hold the lock
-	mov r8=EINVAL			// default to EINVAL
 #endif
 	add r18=IA64_TASK_PENDING_OFFSET+IA64_SIGPENDING_SIGNAL_OFFSET,r16
 	add r19=IA64_TASK_SIGNAL_OFFSET,r16
@@ -490,7 +499,10 @@
 (p6)	br.cond.spnt.few 1b			// yes -> retry
 
 #ifdef CONFIG_SMP
-	st4.rel [r31]=r0			// release the lock
+	// __ticket_spin_unlock(r31)
+	st2.rel [r31]=r20
+	mov r20=0					// i must not leak kernel bits...
 #endif
 	SSM_PSR_I(p0, p9, r31)
 	;;
@@ -512,7 +524,8 @@
 
 .sig_pending:
 #ifdef CONFIG_SMP
-	st4.rel [r31]=r0			// release the lock
+	// __ticket_spin_unlock(r31)
+	st2.rel [r31]=r20			// release the lock
 #endif
 	SSM_PSR_I(p0, p9, r17)
 	;;



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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (76 preceding siblings ...)
  2010-09-14  6:06 ` Petr Tesarik
@ 2010-09-14  7:02 ` Petr Tesarik
  2010-09-14 17:37 ` Luck, Tony
                   ` (15 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Petr Tesarik @ 2010-09-14  7:02 UTC (permalink / raw)
  To: linux-ia64

Petr Tesarik píše v Út 14. 09. 2010 v 08:06 +0200:
> Luck, Tony píše v Po 13. 09. 2010 v 11:33 -0700:
> > Hi Linus,
> > 
> > please pull from:
> > 
> > 	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release
> > 
> > This will update the files shown below.
> 
> Hi Tony,
> 
> oops, it seems I shouldn't have gone on a short vacation with the
> kids... :/
> 
> Actually, your patch works perfectly for me, but it spoils the highly
> optimized fsyscall, so I invested some additional time into it and came
> up with the following:

Argh, once more, re-based to the current tree and with correct patch
headers:

Optimize ticket spinlocks in fsys_rt_sigprocmask

Tony's fix works perfectly, but it adds more instructions than
necessary. Optimize the fast path again.

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>
---
 fsys-optimized.S |   42 +++++++++++-------------------------------
 1 file changed, 11 insertions(+), 31 deletions(-)

diff -u a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys-optimized.S
--- a/arch/ia64/kernel/fsys.S	2010-09-14 09:11:07.000000000 +0200
+++ b/arch/ia64/kernel/fsys-optimized.S	2010-09-14 09:10:28.000000000 +0200
@@ -420,34 +420,31 @@
 	;;
 
 	RSM_PSR_I(p0, r18, r19)			// mask interrupt delivery
-	mov ar.ccv=0
 	andcm r14=r14,r17			// filter out SIGKILL & SIGSTOP
+	mov r8=EINVAL			// default to EINVAL
 
 #ifdef CONFIG_SMP
 	// __ticket_spin_trylock(r31)
 	ld4 r17=[r31]
-	mov r8=EINVAL			// default to EINVAL
-	;;
-	extr r9=r17,17,15
 	;;
-	xor r18=r17,r9
+	mov.m ar.ccv=r17
+	extr.u r9=r17,17,15
 	adds r19=1,r17
+	extr.u r18=r17,0,15
 	;;
-	extr.u r18=r18,0,15
+	cmp.eq p6,p7=r9,r18
 	;;
-	cmp.eq p0,p7=0,r18
+(p6)	cmpxchg4.acq r9=[r31],r19,ar.ccv
+(p6)	dep.z r20=r19,1,15		// next serving ticket for unlock
 (p7)	br.cond.spnt.many .lock_contention
-	mov.m ar.ccv=r17
-	;;
-	cmpxchg4.acq r9=[r31],r19,ar.ccv
 	;;
 	cmp4.eq p0,p7=r9,r17
+	adds r31=2,r31
 (p7)	br.cond.spnt.many .lock_contention
 	ld8 r3=[r2]			// re-read current->blocked now that we hold the lock
 	;;
 #else
 	ld8 r3=[r2]			// re-read current->blocked now that we hold the lock
-	mov r8=EINVAL			// default to EINVAL
 #endif
 	add r18=IA64_TASK_PENDING_OFFSET+IA64_SIGPENDING_SIGNAL_OFFSET,r16
 	add r19=IA64_TASK_SIGNAL_OFFSET,r16
@@ -503,16 +500,8 @@
 
 #ifdef CONFIG_SMP
 	// __ticket_spin_unlock(r31)
-	adds r31=2,r31
-	;;
-	ld2.bias r2=[r31]
-	mov r3e534
-	;;
-	adds r2=2,r2
-	;;
-	and r3=r3,r2
-	;;
-	st2.rel [r31]=r3
+	st2.rel [r31]=r20
+	mov r20=0					// i must not leak kernel bits...
 #endif
 	SSM_PSR_I(p0, p9, r31)
 	;;
@@ -535,16 +524,7 @@
 .sig_pending:
 #ifdef CONFIG_SMP
 	// __ticket_spin_unlock(r31)
-	adds r31=2,r31
-	;;
-	ld2.bias r2=[r31]
-	mov r3e534
-	;;
-	adds r2=2,r2
-	;;
-	and r3=r3,r2
-	;;
-	st2.rel [r31]=r3
+	st2.rel [r31]=r20			// release the lock
 #endif
 	SSM_PSR_I(p0, p9, r17)
 	;;



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

* RE: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (77 preceding siblings ...)
  2010-09-14  7:02 ` Petr Tesarik
@ 2010-09-14 17:37 ` Luck, Tony
  2010-09-14 20:38 ` Petr Tesarik
                   ` (14 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-09-14 17:37 UTC (permalink / raw)
  To: linux-ia64

> Tony's fix works perfectly, but it adds more instructions than
> necessary. Optimize the fast path again.

Ah! You spotted that I just pasted in gcc -S output :-)

This looks much better.  I'll queue is up for the next merge window.

-Tony

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (78 preceding siblings ...)
  2010-09-14 17:37 ` Luck, Tony
@ 2010-09-14 20:38 ` Petr Tesarik
  2010-09-14 20:57 ` Tony Luck
                   ` (13 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Petr Tesarik @ 2010-09-14 20:38 UTC (permalink / raw)
  To: linux-ia64

On Tuesday 14 of September 2010 19:37:12 Luck, Tony wrote:
> > Tony's fix works perfectly, but it adds more instructions than
> > necessary. Optimize the fast path again.
>
> Ah! You spotted that I just pasted in gcc -S output :-)

Yeah, it looked like that. ;)

> This looks much better.  I'll queue is up for the next merge window.

Anyway, since the fix is rather important, I think you should also send a copy 
of the patch to stable@kernel.org.

Petr Tesarik

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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (79 preceding siblings ...)
  2010-09-14 20:38 ` Petr Tesarik
@ 2010-09-14 20:57 ` Tony Luck
  2010-09-16 15:57 ` Luck, Tony
                   ` (12 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Tony Luck @ 2010-09-14 20:57 UTC (permalink / raw)
  To: linux-ia64

On Tue, Sep 14, 2010 at 1:38 PM, Petr Tesarik <ptesarik@suse.cz> wrote:
> Anyway, since the fix is rather important, I think you should also send a copy
> of the patch to stable@kernel.org.

Good point - I forgot that step.

-Tony

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (80 preceding siblings ...)
  2010-09-14 20:57 ` Tony Luck
@ 2010-09-16 15:57 ` Luck, Tony
  2010-10-21 16:00 ` Luck, Tony
                   ` (11 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-09-16 15:57 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/fsys.S |   42 +++++++++++-------------------------------
 1 files changed, 11 insertions(+), 31 deletions(-)

Petr Tesarik (1):
      [IA64] Optimize ticket spinlocks in fsys_rt_sigprocmask


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (81 preceding siblings ...)
  2010-09-16 15:57 ` Luck, Tony
@ 2010-10-21 16:00 ` Luck, Tony
  2010-10-21 21:33 ` Linus Torvalds
                   ` (10 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-10-21 16:00 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Peer with extra suspicion at the octo-merge since this is the first
time I've used one of these to pull in all my topic branches.  I just
ran:
 $ git merge release drop_do_IRQ fix_early_irq misc-2.6.37 next-fixes optimize-unwind remove-compat-h stack_trace

Thanks!

-Tony

 arch/ia64/Kconfig                   |   12 ++-
 arch/ia64/include/asm/compat.h      |  208 -----------------------------------
 arch/ia64/include/asm/hardirq.h     |   11 +-
 arch/ia64/include/asm/iommu_table.h |    6 +
 arch/ia64/kernel/Makefile           |    1 +
 arch/ia64/kernel/cyclone.c          |    2 +-
 arch/ia64/kernel/iosapic.c          |   60 ++---------
 arch/ia64/kernel/irq_ia64.c         |    5 +
 arch/ia64/kernel/mca.c              |   38 +++---
 arch/ia64/kernel/palinfo.c          |    2 +-
 arch/ia64/kernel/perfmon.c          |   12 +-
 arch/ia64/kernel/salinfo.c          |    2 +-
 arch/ia64/kernel/setup.c            |    4 -
 arch/ia64/kernel/stacktrace.c       |   39 +++++++
 arch/ia64/kernel/unwind.c           |   23 +++-
 arch/ia64/xen/xen_pv_ops.c          |    5 +-
 drivers/serial/ioc3_serial.c        |    4 +
 17 files changed, 128 insertions(+), 306 deletions(-)
 delete mode 100644 arch/ia64/include/asm/compat.h
 create mode 100644 arch/ia64/include/asm/iommu_table.h
 create mode 100644 arch/ia64/kernel/stacktrace.c

FUJITA Tomonori (1):
      [IA64] enable ARCH_DMA_ADDR_T_64BIT

Joe Perches (2):
      [IA64] Use static const char * const in palinfo.c
      [IA64] Remove unnecessary casts of private_data in perfmon.c

Julia Lawall (1):
      [IA64] Fix missing iounmap in error path in cyclone.c

Konrad Rzeszutek Wilk (1):
      [IA64] iommu: Add a dummy iommu_table.h file in IA64.

Nikitas Angelinas (1):
      [IA64] xen: use ARRAY_SIZE macro in xen_pv_ops.c

Phil Carmody (2):
      [IA64] unwind: remove preprocesser noise, and correct comment
      [IA64] unwind - optimise linked-list searches for modules

Rahul Ruikar (1):
      [IA64] ioc3_serial: release resources in error return path

Thomas Gleixner (1):
      [IA64] salinfo: sema_init instead of init_MUTEX

Tony Luck (6):
      [IA64] Move local_softirq_pending() definition
      [IA64] Add CONFIG_STACKTRACE_SUPPORT
      [IA64] remove asm/compat.h
      [IA64] Stop using the deprecated __do_IRQ() code path
      [IA64] Initialize interrupts later (from init_IRQ())
      [IA64] Cannot use register_percpu_irq() from ia64_mca_init()


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

* Re: [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (82 preceding siblings ...)
  2010-10-21 16:00 ` Luck, Tony
@ 2010-10-21 21:33 ` Linus Torvalds
  2011-01-10 18:01 ` Luck, Tony
                   ` (9 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Linus Torvalds @ 2010-10-21 21:33 UTC (permalink / raw)
  To: linux-ia64

On Thu, Oct 21, 2010 at 9:00 AM, Luck, Tony <tony.luck@intel.com> wrote:
>
> Peer with extra suspicion at the octo-merge since this is the first
> time I've used one of these to pull in all my topic branches.  I just
> ran:
>  $ git merge release drop_do_IRQ fix_early_irq misc-2.6.37 next-fixes optimize-unwind remove-compat-h stack_trace

Looks fine to me. You don't need to list the branch you're already in,
so the "release" part of that git merge command is superfluous, but
with any reasonably modern git version, git will prune out any
duplicate branches and not list them twice in the list of parents
(once for the branch you were on, and once for you asking to merge
that same branch). So it's actually pretty hard to really screw up an
octopus merge, since git will even refuse anything that doesn't merge
automatically and cleanly.

                         Linus

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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (83 preceding siblings ...)
  2010-10-21 21:33 ` Linus Torvalds
@ 2011-01-10 18:01 ` Luck, Tony
  2011-01-13 18:08 ` Luck, Tony
                   ` (8 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-01-10 18:01 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/acpi.c     |    6 ++++++
 arch/ia64/kernel/irq_ia64.c |    2 +-
 arch/ia64/kernel/perfmon.c  |    3 +--
 arch/ia64/kernel/smp.c      |   13 ++++++++++---
 arch/ia64/kernel/time.c     |    2 +-
 5 files changed, 19 insertions(+), 7 deletions(-)

Dimitri Sivanich (1):
      [IA64] eliminate race condition in smp_flush_tlb_mm

Jesper Juhl (1):
      [IA64] perfmon: Change vmalloc to vzalloc and drop memset.

Jiri Slaby (1):
      [IA64] irq_ia64, use set_irq_chip

Joe Perches (1):
      [IA64] Remove unlikely from cpu_is_offline

Tony Luck (1):
      [IA64] Avoid array overflow if there are too many cpus in SRAT table


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (84 preceding siblings ...)
  2011-01-10 18:01 ` Luck, Tony
@ 2011-01-13 18:08 ` Luck, Tony
  2011-01-13 23:10 ` Luck, Tony
                   ` (7 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-01-13 18:08 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/acpi.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Tony Luck (1):
      [IA64] Fix format warning in arch/ia64/kernel/acpi.c


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (85 preceding siblings ...)
  2011-01-13 18:08 ` Luck, Tony
@ 2011-01-13 23:10 ` Luck, Tony
  2011-01-14 19:33 ` Luck, Tony
                   ` (6 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-01-13 23:10 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/kernel/perfmon.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Tony Luck (1):
      [IA64] fix build error - arch/ia64/kernel/perfmon.c


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (86 preceding siblings ...)
  2011-01-13 23:10 ` Luck, Tony
@ 2011-01-14 19:33 ` Luck, Tony
  2011-03-30 19:09 ` Luck, Tony
                   ` (5 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-01-14 19:33 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/page.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Andrea Arcangeli (1):
      [IA64] fix ia64 build failure in pmdp_get_and_clear


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
@ 2011-03-24 16:29 ` Luck, Tony
  2008-04-29 23:36 ` Luck, Tony
                   ` (92 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-03-24 16:29 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/unistd.h |    6 +++++-
 arch/ia64/kernel/entry.S       |    4 ++++
 fs/pstore/platform.c           |   15 ++++++++++++---
 3 files changed, 21 insertions(+), 4 deletions(-)

Tony Luck (2):
      [IA64] New syscalls for 2.6.39
      pstore: cleanups to pstore_dump()


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

* [git pull] ia64 changes
@ 2011-03-24 16:29 ` Luck, Tony
  0 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-03-24 16:29 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/unistd.h |    6 +++++-
 arch/ia64/kernel/entry.S       |    4 ++++
 fs/pstore/platform.c           |   15 ++++++++++++---
 3 files changed, 21 insertions(+), 4 deletions(-)

Tony Luck (2):
      [IA64] New syscalls for 2.6.39
      pstore: cleanups to pstore_dump()


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (87 preceding siblings ...)
  2011-01-14 19:33 ` Luck, Tony
@ 2011-03-30 19:09 ` Luck, Tony
  2011-05-31 20:20 ` Luck, Tony
                   ` (4 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-03-30 19:09 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/sn/kernel/sn2/sn_proc_fs.c |   42 ----------------------------------
 1 files changed, 0 insertions(+), 42 deletions(-)

Tony Luck (1):
      [IA64] Fix build breakage - sn_force_interrupt_flag: undefined


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (88 preceding siblings ...)
  2011-03-30 19:09 ` Luck, Tony
@ 2011-05-31 20:20 ` Luck, Tony
  2011-08-01 16:57 ` Luck, Tony
                   ` (3 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-05-31 20:20 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git release

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/include/asm/unistd.h |    3 ++-
 arch/ia64/kernel/entry.S       |    1 +
 2 files changed, 3 insertions(+), 1 deletions(-)

Tony Luck (1):
      [IA64] wire up sendmmsg() syscall for Itanium


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (89 preceding siblings ...)
  2011-05-31 20:20 ` Luck, Tony
@ 2011-08-01 16:57 ` Luck, Tony
  2011-11-02 21:06 ` Luck, Tony
                   ` (2 subsequent siblings)
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-08-01 16:57 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git gpiolib

This will update the files shown below.

Thanks!

-Tony

 arch/ia64/Kconfig            |    4 +++
 arch/ia64/include/asm/gpio.h |   55 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 arch/ia64/include/asm/gpio.h

Mark Brown (1):
      [IA64] Hook up gpiolib support


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (90 preceding siblings ...)
  2011-08-01 16:57 ` Luck, Tony
@ 2011-11-02 21:06 ` Luck, Tony
  2012-01-05 17:42 ` Luck, Tony
  2012-03-23 17:23 ` [GIT PULL] " Luck, Tony
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2011-11-02 21:06 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git misc-3.2
	HEADk1c70b1ff6f800f081a6bbef662789135f7b398

This will update the files shown below.

Thanks!

-Tony

 MAINTAINERS                           |    3 +--
 arch/ia64/Kconfig                     |    2 +-
 arch/ia64/configs/generic_defconfig   |    1 +
 arch/ia64/configs/gensparse_defconfig |    1 +
 arch/ia64/configs/tiger_defconfig     |    1 +
 arch/ia64/configs/xen_domu_defconfig  |    1 +
 arch/ia64/configs/zx1_defconfig       |    1 +
 arch/ia64/sn/kernel/sn2/sn_hwperf.c   |   12 ++++++++----
 drivers/char/agp/hp-agp.c             |    6 ++++--
 9 files changed, 19 insertions(+), 9 deletions(-)

Ben Hutchings (1):
      [IA64] gpio: GENERIC_GPIO default must be n

Tony Luck (3):
      [IA64] sn2: add missing put_cpu()
      [IA64[ add CONFIG_NET_VENDOR_INTEL=y to default config files where needed
      MAINTAINERS: Update entry for IA64

Émeric Maschino (1):
      [IA64] agp/hp-agp: Allow binding user memory to the AGP GART


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

* [git pull] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (91 preceding siblings ...)
  2011-11-02 21:06 ` Luck, Tony
@ 2012-01-05 17:42 ` Luck, Tony
  2012-03-23 17:23 ` [GIT PULL] " Luck, Tony
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2012-01-05 17:42 UTC (permalink / raw)
  To: linux-ia64

Hi Linus,

please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git misc-3.3
	HEAD¤b1d1b3619ee2fac40cdf5ca86a4758e45b9358

This will update the files shown below.

Thanks!

-Tony

[Confession time: These commits haven't been exposed to linux-next, because I
 failed to merge the misc-3.3 branch into my "next" branch for Stephen to pick up :-(
 But it isn't like there's a huge population of ia64 testers checking every
 linux-next release. Petr's fix has seen some testing in the SLES11-SP2-RC series
 the other three are just semantic sugar]

 arch/ia64/kernel/setup.c                |   19 +++++++++++++++++++
 arch/ia64/sn/kernel/irq.c               |    5 ++---
 arch/ia64/sn/pci/pcibr/pcibr_provider.c |    3 +--
 arch/ia64/sn/pci/tioca_provider.c       |    4 ++--
 4 files changed, 24 insertions(+), 7 deletions(-)

Petr Tesarik (1):
      [IA64] Merge overlapping reserved regions at boot

Thomas Meyer (3):
      ia64: tioca: Use kmemdup rather than duplicating its implementation
      ia64: sn: Use kmemdup rather than duplicating its implementation
      ia64: pcibr: Use kmemdup rather than duplicating its implementation


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

* [GIT PULL] ia64 changes
  2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
                   ` (92 preceding siblings ...)
  2012-01-05 17:42 ` Luck, Tony
@ 2012-03-23 17:23 ` Luck, Tony
  93 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2012-03-23 17:23 UTC (permalink / raw)
  To: linux-ia64

The following changes since commit 62aa2b537c6f5957afd98e29f96897419ed5ebab:

  Linux 3.3-rc2 (2012-01-31 13:31:54 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git ia64-for-linus

for you to fetch changes up to b86c4782ab501e3b69e5e0b32050455f95caa681:

  Documentation/kernel-parameters: remove inttest parameter (2012-03-22 16:07:18 -0700)

----------------------------------------------------------------
Miscellaneous Itanium patches

----------------------------------------------------------------
Dimitri Sivanich (1):
      [IA64] genirq fixup for SGI/SN

Jiri Kosina (1):
      [IA64] disable interrupts when exiting from ia64_mca_cmc_int_handler()

Jiri Slaby (4):
      [IA64] hpsim, fix SAL handling in fw-emu
      [IA64] simserial, include some headers
      [IA64] hpsim, initialize chip for assigned irqs
      [IA64] simserial, bail out when request_irq fails

Liu Jiang (1):
      [IA64] Fix ISA IRQ trigger model and polarity setting

Paul Gortmaker (3):
      [IA64] Fix warning from machine_kexec.c
      [IA64] Check return from device_register() in cx_device_register()
      [IA64] Fix a couple of warnings for EXPORT_SYMBOL

Sebastian Andrzej Siewior (1):
      Documentation/kernel-parameters: remove inttest parameter

 Documentation/kernel-parameters.txt     |    2 -
 arch/ia64/hp/sim/boot/fw-emu.c          |   17 +++-----------
 arch/ia64/hp/sim/hpsim_irq.c            |   36 +++++++++++++++++++++++++-----
 arch/ia64/hp/sim/hpsim_setup.c          |    6 -----
 arch/ia64/hp/sim/simeth.c               |   19 ++-------------
 arch/ia64/hp/sim/simserial.c            |   20 ++++-------------
 arch/ia64/include/asm/hpsim.h           |    2 +-
 arch/ia64/kernel/acpi.c                 |    8 +++---
 arch/ia64/kernel/machine_kexec.c        |    2 +-
 arch/ia64/kernel/mca.c                  |    2 +
 arch/ia64/sn/kernel/huberror.c          |    2 +
 arch/ia64/sn/kernel/io_common.c         |    1 +
 arch/ia64/sn/kernel/irq.c               |    2 +
 arch/ia64/sn/kernel/sn2/sn_hwperf.c     |    1 +
 arch/ia64/sn/kernel/tiocx.c             |    7 +++++-
 arch/ia64/sn/pci/pcibr/pcibr_provider.c |    1 +
 arch/ia64/sn/pci/tioca_provider.c       |    1 +
 arch/ia64/sn/pci/tioce_provider.c       |    1 +
 drivers/tty/serial/sn_console.c         |    1 +
 19 files changed, 66 insertions(+), 65 deletions(-)

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

* [git pull] ia64 changes
@ 2010-07-21 16:40 Luck, Tony
  0 siblings, 0 replies; 110+ messages in thread
From: Luck, Tony @ 2010-07-21 16:40 UTC (permalink / raw)
  To: Ben Hutchings; +Cc: linux-kernel, Geert Stappers, Dave Airlie

This commit hit Linus upstream today and broke the ia64 build:

commit 1e8655f87333def92bb8215b423adc65403b08a5
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Sun Jul 18 21:51:42 2010 +0100

    drm/ttm: Fix build on architectures without AGP
    
    Make inclusion of <asm/agp.h> conditional on TTM_HAS_AGP.  The use
    of the functions declared in it is already conditional.
    
    Reported-by: Geert Stappers <stappers@stappers.nl>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Tested-by: Geert Stappers <stappers@stappers.nl>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c
index b1d67dc..1f32b46 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c
@@ -40,7 +40,9 @@
 #include <linux/slab.h>
 
 #include <asm/atomic.h>
+#ifdef TTM_HAS_AGP
 #include <asm/agp.h>
+#endif
 
 #include "ttm/ttm_bo_driver.h"
 #include "ttm/ttm_page_alloc.h"


The problem is that TTM_HAS_AGP is defined in "ttm/ttm_bo_driver.h" ... which
is included *after* you used it to test whether to include <asm/agp.h>

I suspect some re-arrangement is in order :-)

-Tony

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

end of thread, other threads:[~2012-03-23 17:23 UTC | newest]

Thread overview: 110+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-18 16:34 [git pull] ia64 changes Luck, Tony
2008-04-22 23:36 ` Luck, Tony
2008-04-29 23:36 ` Luck, Tony
2008-05-01 22:57 ` Luck, Tony
2008-05-15 20:46 ` Luck, Tony
2008-05-28 19:52 ` Luck, Tony
2008-06-16 17:28 ` Luck, Tony
2008-06-24 21:49 ` Luck, Tony
2008-06-30 23:52 ` Luck, Tony
2008-07-17 20:31 ` Luck, Tony
2008-07-25 20:30 ` Luck, Tony
2008-08-06 18:32 ` Luck, Tony
2008-08-12 21:55 ` Luck, Tony
2008-08-18 23:46 ` Luck, Tony
2008-08-26 16:59 ` Luck, Tony
2008-09-10 21:17 ` Luck, Tony
2008-09-23 16:59 ` Luck, Tony
2008-09-30 16:18 ` Luck, Tony
2008-10-21 18:01 ` Luck, Tony
2008-11-05  0:43 ` Luck, Tony
2008-11-07 18:00 ` Luck, Tony
2008-11-20 22:47 ` Luck, Tony
2008-12-09 22:28 ` Luck, Tony
2009-01-15 19:45 ` Luck, Tony
2009-02-19 21:02 ` Luck, Tony
2009-02-25 22:44 ` Luck, Tony
2009-03-06 22:17 ` Luck, Tony
2009-03-27 17:46 ` Luck, Tony
2009-04-01 20:20 ` Luck, Tony
2009-04-08 22:33 ` Luck, Tony
2009-04-20 17:32 ` Luck, Tony
2009-05-05 22:42 ` Luck, Tony
2009-06-15 17:20 ` Luck, Tony
2009-07-17 18:11 ` Fenghua Yu
2009-08-11 23:40 ` Fenghua Yu
2009-09-02 17:28 ` Luck, Tony
2009-09-17 17:11 ` Luck, Tony
2009-09-26 19:57 ` Luck, Tony
2009-09-26 20:39 ` Linus Torvalds
2009-09-26 23:16 ` Matthew Wilcox
2009-09-27  0:00 ` Linus Torvalds
2009-09-27  0:08 ` Linus Torvalds
2009-09-27  4:54 ` Luck, Tony
2009-09-27  5:18 ` Linus Torvalds
2009-09-27  5:20 ` Luck, Tony
2009-09-28 19:02 ` Boehm, Hans
2009-09-28 22:35 ` Luck, Tony
2009-09-28 22:54 ` Linus Torvalds
2009-09-28 23:01 ` Linus Torvalds
2009-09-28 23:01 ` Luck, Tony
2009-09-29  0:03 ` Rick Jones
2009-09-29  0:14 ` Linus Torvalds
2009-09-29 17:53 ` Luck, Tony
2009-09-29 18:07 ` Linus Torvalds
2009-09-30  0:54 ` Robin Holt
2009-09-30  1:24 ` Linus Torvalds
2009-09-30  1:30 ` Linus Torvalds
2009-09-30  2:46 ` Robin Holt
2009-09-30  2:56 ` Linus Torvalds
2009-09-30 18:00 ` Rick Jones
2009-11-02 18:07 ` Luck, Tony
2009-12-15 22:33 ` Luck, Tony
2010-01-08 17:20 ` Luck, Tony
2010-01-08 17:35 ` Linus Torvalds
2010-01-08 17:49 ` Luck, Tony
2010-01-08 19:24 ` Luck, Tony
2010-02-16 19:43 ` Luck, Tony
2010-02-24 17:32 ` Luck, Tony
2010-03-01 18:11 ` Luck, Tony
2010-05-18 17:11 ` Luck, Tony
2010-05-18 20:43 ` Robin Holt
2010-05-18 22:04 ` Luck, Tony
2010-07-01 15:22 ` Luck, Tony
2010-08-04 16:09 ` Luck, Tony
2010-08-14  4:04 ` Luck, Tony
2010-08-18 20:06 ` Luck, Tony
2010-09-13 18:33 ` Luck, Tony
2010-09-14  6:06 ` Petr Tesarik
2010-09-14  7:02 ` Petr Tesarik
2010-09-14 17:37 ` Luck, Tony
2010-09-14 20:38 ` Petr Tesarik
2010-09-14 20:57 ` Tony Luck
2010-09-16 15:57 ` Luck, Tony
2010-10-21 16:00 ` Luck, Tony
2010-10-21 21:33 ` Linus Torvalds
2011-01-10 18:01 ` Luck, Tony
2011-01-13 18:08 ` Luck, Tony
2011-01-13 23:10 ` Luck, Tony
2011-01-14 19:33 ` Luck, Tony
2011-03-30 19:09 ` Luck, Tony
2011-05-31 20:20 ` Luck, Tony
2011-08-01 16:57 ` Luck, Tony
2011-11-02 21:06 ` Luck, Tony
2012-01-05 17:42 ` Luck, Tony
2012-03-23 17:23 ` [GIT PULL] " Luck, Tony
2008-04-24 23:51 [git pull] " Luck, Tony
2008-04-24 23:51 ` Luck, Tony
2008-04-25  0:16 ` Adrian Bunk
2008-04-25  0:16   ` Adrian Bunk
2008-04-25  0:25   ` Luck, Tony
2008-04-25  0:25     ` Luck, Tony
2008-04-25  0:41     ` [2.6 patch] ia64: let NUMA select SMP Adrian Bunk
2008-04-25  0:41       ` Adrian Bunk
2008-04-25  1:01       ` Luck, Tony
2008-04-25  1:01         ` Luck, Tony
2008-04-25 12:50       ` Mike Travis
2008-04-25 12:50         ` Mike Travis
2010-07-21 16:40 [git pull] ia64 changes Luck, Tony
2011-03-24 16:29 Luck, Tony
2011-03-24 16:29 ` Luck, Tony

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.