1. 13 12月, 2006 12 次提交
    • J
      [IA64] - Reduce overhead of FP exception logging messages · 1cf24bdb
      Jack Steiner 提交于
      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: NJack Steiner <steiner@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      1cf24bdb
    • T
      [IA64] fix arch/ia64/mm/contig.c:235: warning: unused variable `nid' · 8b9c1068
      Tony Luck 提交于
      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: NTony Luck <tony.luck@intel.com>
      8b9c1068
    • T
      [IA64] s/termios/ktermios/ in simserial.c · f889a26a
      Tony Luck 提交于
      This got missed in 606d099cSigned-off-by: NTony Luck <tony.luck@intel.com>
      f889a26a
    • H
      [IA64] kexec/kdump: tidy up declaration of relocate_new_kernel_t · 53da5763
      Horms 提交于
      * Make NORET_TYPE and ATTRIB_NORET in line with the
        declaration for other architectures
      * Add parameter names
      Signed-Off-By: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      53da5763
    • H
      [IA64] Kexec/Kdump: honour non-zero crashkernel offset. · ad1c3ba7
      Horms 提交于
      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: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      ad1c3ba7
    • H
      [IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations · 45a98fc6
      Horms 提交于
      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: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      45a98fc6
    • J
      [IA64] Do not call SN_SAL_SET_CPU_NUMBER twice on cpu 0 · adf142e3
      Jay Lan 提交于
      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: NJay Lan <jlan@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      adf142e3
    • I
      [PATCH] netpoll: fix netpoll lockup · 3640543d
      Ingo Molnar 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3640543d
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 · d224a93d
      Linus Torvalds 提交于
      * 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
    • I
      [PATCH] net, 8139too.c: fix netpoll deadlock · b57bd066
      Ingo Molnar 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Acked-by: NJeff Garzik <jeff@garzik.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b57bd066
    • I
      [PATCH] lockdep: fix seqlock_init() · 99a3eb38
      Ingo Molnar 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      99a3eb38
    • L
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb · d907dd2e
      Linus Torvalds 提交于
      * '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. 12 12月, 2006 28 次提交