Skip to content
  1. Dec 13, 2006
    • Tony Luck's avatar
      [IA64] Take defensive stance on ia64_pal_get_brand_info() · 75f6a1de
      Tony Luck authored
      
      
      Stephane thought he saw a problem here (but was just confused
      by the return value from ia64_pal_get_brand_info()).  But we
      should be more defensive here in case an prototype PAL for
      a future processor doesn't implement this PAL call.
      
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      75f6a1de
    • Dean Nelson's avatar
      [IA64] fix possible XPC deadlock when disconnecting · a460ef8d
      Dean Nelson authored
      
      
      This patch eliminates a potential deadlock that is possible when XPC
      disconnects a channel to a partition that has gone down. This deadlock will
      occur if at least one of the kthreads created by XPC for the purpose of making
      callouts to the channel's registerer is detained in the registerer and will
      not be returning back to XPC until some registerer request occurs on the now
      downed partition. The potential for a deadlock is removed by ensuring that
      there always is a kthread available to make the channel disconnecting callout
      to the registerer.
      
      Signed-off-by: default avatarDean Nelson <dcn@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      a460ef8d
    • Jack Steiner's avatar
      [IA64] - Reduce overhead of FP exception logging messages · 1cf24bdb
      Jack Steiner authored
      
      
      Improve the scalability of the fpswa code that rate-limits
      logging of messages.
      
      There are 2 distinctly different problems in this code.
      
      1) If prctl is used to disable logging, last_time is never
         updated. The result is that fpu_swa_count is zeroed out on
         EVERY fp fault. This causes a very very hot cache line.
         The fix reduces the wallclock time of a 1024p FP exception test
         from 28734 sec to 19 sec!!!
      
      2) On VERY large systems, excessive messages are logged because
         multiple cpus can each reset or increment fpu_swa_count at
         about the same time. The result is that hundreds of messages
         are logged each second. The fixes reduces the logging rate
         to ~1 per second.
      
      Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      1cf24bdb
    • Tony Luck's avatar
      [IA64] fix arch/ia64/mm/contig.c:235: warning: unused variable `nid' · 8b9c1068
      Tony Luck authored
      
      
      This warning only shows up with CONFIG_VIRTUAL_MEM_MAP=y and
      CONFIG_FLATMEM=y.
      
      There is only one caller left for register_active_ranges() from the
      contig.c code ... so it doesn't need to pick up the node number, the
      node number is always zero.
      
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      8b9c1068
    • Tony Luck's avatar
      [IA64] s/termios/ktermios/ in simserial.c · f889a26a
      Tony Luck authored
      This got missed in 606d099c
      
      
      
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      f889a26a
    • Horms's avatar
      [IA64] kexec/kdump: tidy up declaration of relocate_new_kernel_t · 53da5763
      Horms authored
      
      
      * Make NORET_TYPE and ATTRIB_NORET in line with the
        declaration for other architectures
      * Add parameter names
      
      Signed-Off-By: default avatarSimon Horman <horms@verge.net.au>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      53da5763
    • Horms's avatar
      [IA64] Kexec/Kdump: honour non-zero crashkernel offset. · ad1c3ba7
      Horms authored
      
      
      There seems to be a value in both allowing the kernel to determine
      the base offset of the crashkernel automatically and allowing
      users's to sepcify it.
      
      The old behaviour on ia64, which is still the current behaviour on
      most architectures is for the user to always specify the address.
      Recently ia64 was changed so that it is always automatically determined.
      
      With this patch the kernel automatically determines the offset if
      the supplied value is 0, otherwise it uses the value provided.
      
      This should probably be backed by a documentation change.
      
      Signed-Off-By: default avatarSimon Horman <horms@verge.net.au>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      ad1c3ba7
    • Horms's avatar
      [IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations · 45a98fc6
      Horms authored
      
      
      Actually, on reflection I think that there is a good case for
      keeping the options separate. I am thinking particularly of people
      who want a very small crashdump kernel and thus don't want to compile
      in kexec.
      
      The patch below should fix things up so that all valid combinations of
      KEXEC, CRASH_DUMP and VMCORE compile cleanly - VMCORE depends on
      CRASH_DUMP which is why I said valid combinations. In a nutshell
      it just untangles unrelated code and switches around a few defines.
      
      Please note that it creats a new file, arch/ia64/kernel/crash_dump.c
      This is in keeping with the i386 implementation.
      
      Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      45a98fc6
    • Jay Lan's avatar
      [IA64] Do not call SN_SAL_SET_CPU_NUMBER twice on cpu 0 · adf142e3
      Jay Lan authored
      
      
      This is an SN specific patch.
      
      Architectually, cpu_init is always called twice on cpu 0
      and thus resulted in two SN_SAL_SET_CPU_NUMBER calls.
      
      This was harmless in production kernel; however, it can
      cause problem on booting up a crashdump kernel at Altix.
      
      Here is the patch that detects the second sn_cpu_init
      call and skips the second call to SN_SAL_SET_CPU_NUMBER.
      
      Signed-Off-By: default avatarJay Lan <jlan@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      adf142e3
    • Ingo Molnar's avatar
      [PATCH] netpoll: fix netpoll lockup · 3640543d
      Ingo Molnar authored
      
      
      current -git doesnt boot on my laptop due to netpoll not unlocking the
      tx lock in the else branch.
      
      booted this up on my laptop with lockdep enabled and there are no
      locking complaints and it works fine.
      
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3640543d
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 · d224a93d
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (29 commits)
        sh: Fixup SH-2 BUG() trap handling.
        sh: Use early_param() for earlyprintk parsing.
        sh: Fix .empty_zero_page alignment for PAGE_SIZE > 4096.
        sh: Fixup .data.page_aligned.
        sh: Hook up SH7722 scif ipr interrupts.
        sh: Fixup sh_bios() trap handling.
        sh: SH-MobileR SH7722 CPU support.
        sh: Fixup dma_cache_sync() callers.
        sh: Convert remaining remap_area_pages() users to ioremap_page_range().
        sh: Fixup kernel_execve() for syscall cleanups.
        sh: Fix get_wchan().
        sh: BUG() handling through trapa vector.
        rtc: rtc-sh: alarm support.
        rtc: rtc-sh: fix rtc for out-by-one for the month.
        sh: Kill off unused SE7619 I/O ops.
        serial: sh-sci: Shut up various sci_rxd_in() gcc4 warnings.
        sh: Split out atomic ops logically.
        sh: Fix Solution Engine 7619 build.
        sh: Trivial build fixes for SH-2 support.
        sh: IPR IRQ updates for SH7619/SH7206.
        ...
      d224a93d
    • Ingo Molnar's avatar
      [PATCH] net, 8139too.c: fix netpoll deadlock · b57bd066
      Ingo Molnar authored
      
      
      fix deadlock in the 8139too driver: poll handlers should never forcibly
      enable local interrupts, because they might be used by netpoll/printk
      from IRQ context.
      
        =================================
        [ INFO: inconsistent lock state ]
        2.6.19 #11
        ---------------------------------
        inconsistent {softirq-on-W} -> {in-softirq-W} usage.
        swapper/1 [HC0[0]:SC1[1]:HE1:SE0] takes:
         (&npinfo->poll_lock){-+..}, at: [<c0350a41>] net_rx_action+0x64/0x1de
        {softirq-on-W} state was registered at:
          [<c0134c86>] mark_lock+0x5b/0x39c
          [<c0135012>] mark_held_locks+0x4b/0x68
          [<c01351e9>] trace_hardirqs_on+0x115/0x139
          [<c02879e6>] rtl8139_poll+0x3d7/0x3f4
          [<c035c85d>] netpoll_poll+0x82/0x32f
          [<c035c775>] netpoll_send_skb+0xc9/0x12f
          [<c035cdcc>] netpoll_send_udp+0x253/0x25b
          [<c0288463>] write_msg+0x40/0x65
          [<c011cead>] __call_console_drivers+0x45/0x51
          [<c011cf16>] _call_console_drivers+0x5d/0x61
          [<c011d4fb>] release_console_sem+0x11f/0x1d8
          [<c011d7d7>] register_console+0x1ac/0x1b3
          [<c02883f8>] init_netconsole+0x55/0x67
          [<c010040c>] init+0x9a/0x24e
          [<c01049cf>] kernel_thread_helper+0x7/0x10
          [<ffffffff>] 0xffffffff
        irq event stamp: 819992
        hardirqs last  enabled at (819992): [<c0350a16>] net_rx_action+0x39/0x1de
        hardirqs last disabled at (819991): [<c0350b1e>] net_rx_action+0x141/0x1de
        softirqs last  enabled at (817552): [<c01214e4>] __do_softirq+0xa3/0xa8
        softirqs last disabled at (819987): [<c0106051>] do_softirq+0x5b/0xc9
      
        other info that might help us debug this:
        no locks held by swapper/1.
      
        stack backtrace:
         [<c0104d88>] dump_trace+0x63/0x1e8
         [<c0104f26>] show_trace_log_lvl+0x19/0x2e
         [<c010532d>] show_trace+0x12/0x14
         [<c0105343>] dump_stack+0x14/0x16
         [<c0134980>] print_usage_bug+0x23c/0x246
         [<c0134d33>] mark_lock+0x108/0x39c
         [<c01356a7>] __lock_acquire+0x361/0x9ed
         [<c0136018>] lock_acquire+0x56/0x72
         [<c03aff1f>] _spin_lock+0x35/0x42
         [<c0350a41>] net_rx_action+0x64/0x1de
         [<c0121493>] __do_softirq+0x52/0xa8
         [<c0106051>] do_softirq+0x5b/0xc9
         [<c0121338>] irq_exit+0x3c/0x48
         [<c0106163>] do_IRQ+0xa4/0xbd
         [<c01047c6>] common_interrupt+0x2e/0x34
         [<c011db92>] vprintk+0x2c0/0x309
         [<c011dbf6>] printk+0x1b/0x1d
         [<c01003f2>] init+0x80/0x24e
         [<c01049cf>] kernel_thread_helper+0x7/0x10
         =======================
      
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Acked-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b57bd066
    • Ingo Molnar's avatar
      [PATCH] lockdep: fix seqlock_init() · 99a3eb38
      Ingo Molnar authored
      
      
      seqlock_init() needs to use spin_lock_init() for dynamic locks, so that
      lockdep is notified about the presence of a new lock.
      
      (this is a fallout of the recent networking merge, which started using
      the so-far unused seqlock_init() API.)
      
      This fix solves the following lockdep-internal warning on current -git:
      
       INFO: trying to register non-static key.
       the code is fine but needs lockdep annotation.
       turning off the locking correctness validator.
           __lock_acquire+0x10c/0x9f9
           lock_acquire+0x56/0x72
           _spin_lock+0x35/0x42
           neigh_destroy+0x9d/0x12e
           neigh_periodic_timer+0x10a/0x15c
           run_timer_softirq+0x126/0x18e
           __do_softirq+0x6b/0xe6
           do_softirq+0x64/0xd2
           ksoftirqd+0x82/0x138
      
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      99a3eb38
    • Linus Torvalds's avatar
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb · d907dd2e
      Linus Torvalds authored
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
        V4L/DVB (4954): Fix: On ia64, i2c adap->inb/adap->outb are wrongly evaluated
      d907dd2e
  2. Dec 12, 2006