* [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-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
` (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