1. 17 10月, 2007 4 次提交
  2. 13 10月, 2007 7 次提交
    • K
      [IA64] Fix kernel hangup in kdump on INIT · 2010d7fe
      Kenji Kaneshige 提交于
      Fix the problem that kdump on INIT hung up if kdump kernel image is
      not configured.
      
      The kdump_init_notifier() on monarch CPU stops its operation at
      DIE_INIT_MONARCH_LEAVE time if the kdump kernel image is not
      configured. On the other hand, kdump_init_notifier() on non-monarch
      CPUs get into spin because they don't know the fact the monarch stops
      its operation. This is the cause of this problem. To fix this problem,
      we need to check the kdump kernel image at the top of the
      kdump_init_notifier() function.
      Signed-off-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      2010d7fe
    • K
      [IA64] Fix kernel panic in kdump on INIT · ac542a51
      Kenji Kaneshige 提交于
      Fix the problem that kdump on INIT causes a kernel panic if kdump
      kernel image is not configured. The cause of this problem is
      machine_kexec_on_init() is using printk in INIT context. It should
      use ia64_mca_printk() instead.
      Signed-off-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      ac542a51
    • S
      [IA64] Remove vector from ia64_machine_kexec() · a62c9fe4
      Simon Horman 提交于
      The use of vector in ia64_machine_kexec() seems spurious,
      and removing it simplifies the code slightly.
      
      As suggested by Alex Williamson <alex.williamson@hp.com>
      
      Cc: Alex Williamson <alex.williamson@hp.com>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      a62c9fe4
    • R
      [IA64] Fix race when multiple cpus go through MCA · e1b1eb01
      Russ Anderson 提交于
      Additional testing uncovered a situation where the MCA recovery code could
      hang due to a race condition.
      
      According to the SAL spec, SAL sends a rendezvous interrupt to all but the first
      CPU that goes into MCA.  This includes other CPUs that go into MCA at the same
      time.  Those other CPUs will go into the linux MCA handler (rather than the
      slave loop) with the rendezvous interrupt pending.  When all the CPUs have
      completed MCA processing and the last monarch completes, freeing all the CPUs,
      the CPUs with the pended rendezvous interrupt then go into the
      ia64_mca_rendez_int_handler().  In ia64_mca_rendez_int_handler() the CPUs
      get marked as rendezvoused, but then leave the handler (due to no MCA).
      That leaves the CPUs marked as rendezvoused _before_ the next MCA event.
      
      When the next MCA hits, the monarch will mistakenly believe that all the CPUs
      are rendezvoused when they are not, opening up a window where a CPU can get
      stuck in the slave loop.
      
      This patch avoids leaving CPUs marked as rendezvoused when they are not.
      Signed-off-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      e1b1eb01
    • R
      [IA64] Remove needless delay in MCA rendezvous · 2bc5c282
      Russ Anderson 提交于
      While testing the MCA recovery code, noticed that some machines would have a
      five second delay rendezvousing cpus.  What was happening is that
      ia64_wait_for_slaves() would check to see if all the slave CPUs had
      rendezvoused.  If any had not, it would wait 1 millisecond then check again.
      If any CPUs had still not rendezvoused, it would wait 5 seconds before
      checking again.
      
      On some configs the rendezvous takes more than 1 millisecond, causing the code
      to wait the full 5 seconds, even though the last CPU rendezvoused after only
      a few milliseconds.
      
      The fix is to check every 1 millisecond to see if all the cpus have
      rendezvoused.  After 5 seconds the code concludes the CPUs will never
      rendezvous (same as before).
      
      The MCA code is, by definition, not performance critical, but a needless
      delay of 5 seconds is senseless.  The 5 seconds also adds up quickly
      when running the error injection code in a loop.
      
      This patch both simplifies the code and removes the needless delay.
      Signed-off-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      2bc5c282
    • S
      [IA64] perfmon: Remove exit_pfm_fs() · 8e75ad89
      Satyam Sharma 提交于
      Because it is dead code and not referenced by anybody else (that file cannot
      be built modular).
      Signed-off-by: NSatyam Sharma <satyam@infradead.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Stephane Eranian <eranian@hpl.hp.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      8e75ad89
    • S
      [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations · db6a5cef
      Satyam Sharma 提交于
      * palinfo.c:
      
      palinfo_cpu_notifier is a CPU hotplug notifier_block, and can be
      marked __cpuinitdata, and the callback function palinfo_cpu_callback()
      itself can be marked __cpuinit. create_palinfo_proc_entries() is only
      called from __cpuinit callback or general __init code, therefore a
      candidate for __cpuinit itself. remove_palinfo_proc_entries() is only
      called from __cpuinit callback or general __exit code, therefore a
      candidate for __cpuexit.
      
      * salinfo.c:
      
      The CPU hotplug notifier_block can be __cpuinitdata. The callback
      salinfo_cpu_callback() is incorrectly marked __devinit -- it must
      be __cpuinit instead.
      
      * topology.c:
      
      cache_sysfs_init() is only called at device_initcall() time so marking
      it as __cpuinit is wrong and wasteful. It should be unconditionally
      __init. Also cleanup reference to hotplug notifier callback function
      from this function and replace with cache_add_dev(), which could also
      enable us to use other tricks to replace __cpuinit{data} annotations,
      as recently discussed on this list.
      
      cache_shared_cpu_map_setup() is only ever called from __cpuinit-marked
      functions hence both its definitions (SMP or !SMP) are candidates for
      __cpuinit itself. Also all_cpu_cache_info can be __cpuinitdata because
      only referenced from __cpuinit code.
      Signed-off-by: NSatyam Sharma <satyam@infradead.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      db6a5cef
  3. 05 10月, 2007 1 次提交
  4. 11 9月, 2007 1 次提交
    • R
      Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH · 7d941432
      Roland McGrath 提交于
      When PTRACE_SYSCALL was used and then PTRACE_DETACH is used, the
      TIF_SYSCALL_TRACE flag is left set on the formerly-traced task.  This
      means that when a new tracer comes along and does PTRACE_ATTACH, it's
      possible he gets a syscall tracing stop even though he's never used
      PTRACE_SYSCALL.  This happens if the task was in the middle of a system
      call when the second PTRACE_ATTACH was done.  The symptom is an
      unexpected SIGTRAP when the tracer thinks that only SIGSTOP should have
      been provoked by his ptrace calls so far.
      
      A few machines already fixed this in ptrace_disable (i386, ia64, m68k).
      But all other machines do not, and still have this bug.  On x86_64, this
      constitutes a regression in IA32 compatibility support.
      
      Since all machines now use TIF_SYSCALL_TRACE for this, I put the
      clearing of TIF_SYSCALL_TRACE in the generic ptrace_detach code rather
      than adding it to every other machine's ptrace_disable.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7d941432
  5. 01 9月, 2007 2 次提交
  6. 29 8月, 2007 2 次提交
  7. 18 8月, 2007 2 次提交
  8. 16 8月, 2007 1 次提交
  9. 14 8月, 2007 5 次提交
  10. 02 8月, 2007 2 次提交
  11. 01 8月, 2007 1 次提交
  12. 31 7月, 2007 5 次提交
  13. 30 7月, 2007 1 次提交
    • A
      Remove fs.h from mm.h · 4e950f6f
      Alexey Dobriyan 提交于
      Remove fs.h from mm.h. For this,
       1) Uninline vma_wants_writenotify(). It's pretty huge anyway.
       2) Add back fs.h or less bloated headers (err.h) to files that need it.
      
      As result, on x86_64 allyesconfig, fs.h dependencies cut down from 3929 files
      rebuilt down to 3444 (-12.3%).
      
      Cross-compile tested without regressions on my two usual configs and (sigh):
      
      alpha              arm-mx1ads        mips-bigsur          powerpc-ebony
      alpha-allnoconfig  arm-neponset      mips-capcella        powerpc-g5
      alpha-defconfig    arm-netwinder     mips-cobalt          powerpc-holly
      alpha-up           arm-netx          mips-db1000          powerpc-iseries
      arm                arm-ns9xxx        mips-db1100          powerpc-linkstation
      arm-assabet        arm-omap_h2_1610  mips-db1200          powerpc-lite5200
      arm-at91rm9200dk   arm-onearm        mips-db1500          powerpc-maple
      arm-at91rm9200ek   arm-picotux200    mips-db1550          powerpc-mpc7448_hpc2
      arm-at91sam9260ek  arm-pleb          mips-ddb5477         powerpc-mpc8272_ads
      arm-at91sam9261ek  arm-pnx4008       mips-decstation      powerpc-mpc8313_rdb
      arm-at91sam9263ek  arm-pxa255-idp    mips-e55             powerpc-mpc832x_mds
      arm-at91sam9rlek   arm-realview      mips-emma2rh         powerpc-mpc832x_rdb
      arm-ateb9200       arm-realview-smp  mips-excite          powerpc-mpc834x_itx
      arm-badge4         arm-rpc           mips-fulong          powerpc-mpc834x_itxgp
      arm-carmeva        arm-s3c2410       mips-ip22            powerpc-mpc834x_mds
      arm-cerfcube       arm-shannon       mips-ip27            powerpc-mpc836x_mds
      arm-clps7500       arm-shark         mips-ip32            powerpc-mpc8540_ads
      arm-collie         arm-simpad        mips-jazz            powerpc-mpc8544_ds
      arm-corgi          arm-spitz         mips-jmr3927         powerpc-mpc8560_ads
      arm-csb337         arm-trizeps4      mips-malta           powerpc-mpc8568mds
      arm-csb637         arm-versatile     mips-mipssim         powerpc-mpc85xx_cds
      arm-ebsa110        i386              mips-mpc30x          powerpc-mpc8641_hpcn
      arm-edb7211        i386-allnoconfig  mips-msp71xx         powerpc-mpc866_ads
      arm-em_x270        i386-defconfig    mips-ocelot          powerpc-mpc885_ads
      arm-ep93xx         i386-up           mips-pb1100          powerpc-pasemi
      arm-footbridge     ia64              mips-pb1500          powerpc-pmac32
      arm-fortunet       ia64-allnoconfig  mips-pb1550          powerpc-ppc64
      arm-h3600          ia64-bigsur       mips-pnx8550-jbs     powerpc-prpmc2800
      arm-h7201          ia64-defconfig    mips-pnx8550-stb810  powerpc-ps3
      arm-h7202          ia64-gensparse    mips-qemu            powerpc-pseries
      arm-hackkit        ia64-sim          mips-rbhma4200       powerpc-up
      arm-integrator     ia64-sn2          mips-rbhma4500       s390
      arm-iop13xx        ia64-tiger        mips-rm200           s390-allnoconfig
      arm-iop32x         ia64-up           mips-sb1250-swarm    s390-defconfig
      arm-iop33x         ia64-zx1          mips-sead            s390-up
      arm-ixp2000        m68k              mips-tb0219          sparc
      arm-ixp23xx        m68k-amiga        mips-tb0226          sparc-allnoconfig
      arm-ixp4xx         m68k-apollo       mips-tb0287          sparc-defconfig
      arm-jornada720     m68k-atari        mips-workpad         sparc-up
      arm-kafa           m68k-bvme6000     mips-wrppmc          sparc64
      arm-kb9202         m68k-hp300        mips-yosemite        sparc64-allnoconfig
      arm-ks8695         m68k-mac          parisc               sparc64-defconfig
      arm-lart           m68k-mvme147      parisc-allnoconfig   sparc64-up
      arm-lpd270         m68k-mvme16x      parisc-defconfig     um-x86_64
      arm-lpd7a400       m68k-q40          parisc-up            x86_64
      arm-lpd7a404       m68k-sun3         powerpc              x86_64-allnoconfig
      arm-lubbock        m68k-sun3x        powerpc-cell         x86_64-defconfig
      arm-lusl7200       mips              powerpc-celleb       x86_64-up
      arm-mainstone      mips-atlas        powerpc-chrp32
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4e950f6f
  14. 27 7月, 2007 6 次提交