1. 07 5月, 2008 5 次提交
    • M
      [S390] guest page hinting light · 45e576b1
      Martin Schwidefsky 提交于
      Use the existing arch_alloc_page/arch_free_page callbacks to do
      the guest page state transitions between stable and unused.
      Acked-by: NRik van Riel <riel@redhat.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      45e576b1
    • R
      [S390] compat ptrace cleanup · b499d76b
      Roland McGrath 提交于
      This removes redundant arch code for generic ptrace requests
      already handled by ptrace_request and compat_ptrace_request.
      It simplifies things to just have the standard entry points,
      and use the generic compat_sys_ptrace.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      b499d76b
    • C
      [S390] s390-kvm: leave sie context on work. Removes preemption requirement · 0eaeafa1
      Christian Borntraeger 提交于
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      This patch fixes a bug with cpu bound guest on kvm-s390. Sometimes it
      was impossible to deliver a signal to a spinning guest. We used
      preemption as a circumvention. The preemption notifiers called
      vcpu_load, which checked for pending signals and triggered a host
      intercept. But even with preemption, a sigkill was not delivered
      immediately.
      
      This patch changes the low level host interrupt handler to check for the
      SIE  instruction, if TIF_WORK is set. In that case we change the
      instruction pointer of the return PSW to rerun the vcpu_run loop. The kvm
      code sees an intercept reason 0 if that happens. This patch adds accounting
      for these types of intercept as well.
      
      The advantages:
      - works with and without preemption
      - signals are delivered immediately
      - much better host latencies without preemption
      Acked-by: NCarsten Otte <cotte@de.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      0eaeafa1
    • H
      x86: fix PAE pmd_bad bootup warning · aeed5fce
      Hugh Dickins 提交于
      Fix warning from pmd_bad() at bootup on a HIGHMEM64G HIGHPTE x86_32.
      
      That came from 9fc34113 x86: debug pmd_bad();
      but we understand now that the typecasting was wrong for PAE in the previous
      version: pagetable pages above 4GB looked bad and stopped Arjan from booting.
      
      And revert that cded932b x86: fix pmd_bad
      and pud_bad to support huge pages.  It was the wrong way round: we shouldn't
      weaken every pmd_bad and pud_bad check to let huge pages slip through - in
      part they check that we _don't_ have a huge page where it's not expected.
      
      Put the x86 pmd_bad() and pud_bad() definitions back to what they have long
      been: they can be improved (x86_32 should use PTE_MASK, to stop PAE thinking
      junk in the upper word is good; and x86_64 should follow x86_32's stricter
      comparison, to stop thinking any subset of required bits is good); but that
      should be a later patch.
      
      Fix Hans' good observation that follow_page() will never find pmd_huge()
      because that would have already failed the pmd_bad test: test pmd_huge in
      between the pmd_none and pmd_bad tests.  Tighten x86's pmd_huge() check?
      No, once it's a hugepage entry, it can get quite far from a good pmd: for
      example, PROT_NONE leaves it with only ACCESSED of the KERN_PGTABLE bits.
      
      However... though follow_page() contains this and another test for huge
      pages, so it's nice to keep it working on them, where does it actually get
      called on a huge page?  get_user_pages() checks is_vm_hugetlb_page(vma) to
      to call alternative hugetlb processing, as does unmap_vmas() and others.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Earlier-version-tested-by: NIngo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jeff Chua <jeff.chua.linux@gmail.com>
      Cc: Hans Rosenfeld <hans.rosenfeld@amd.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aeed5fce
    • C
      [PATCH] kill ->put_inode · 33dcdac2
      Christoph Hellwig 提交于
      And with that last patch to affs killing the last put_inode instance we
      can finally, after many years of transition kill this racy and awkward
      interface.
      
      (It's kinda funny that even the description in
      Documentation/filesystems/vfs.txt was entirely wrong..)
      
      Also remove a very misleading comment above the defintion of
      struct super_operations.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      33dcdac2
  2. 06 5月, 2008 6 次提交
  3. 05 5月, 2008 7 次提交
    • H
      kgdb: fix signedness mixmatches, add statics, add declaration to header · 688b744d
      Harvey Harrison 提交于
      Noticed by sparse:
      arch/x86/kernel/kgdb.c:556:15: warning: symbol 'kgdb_arch_pc' was not declared. Should it be static?
      kernel/kgdb.c:149:8: warning: symbol 'kgdb_do_roundup' was not declared. Should it be static?
      kernel/kgdb.c:193:22: warning: symbol 'kgdb_arch_pc' was not declared. Should it be static?
      kernel/kgdb.c:712:5: warning: symbol 'remove_all_break' was not declared. Should it be static?
      
      Related to kgdb_hex2long:
      arch/x86/kernel/kgdb.c:371:28: warning: incorrect type in argument 2 (different signedness)
      arch/x86/kernel/kgdb.c:371:28:    expected long *long_val
      arch/x86/kernel/kgdb.c:371:28:    got unsigned long *<noident>
      kernel/kgdb.c:469:27: warning: incorrect type in argument 2 (different signedness)
      kernel/kgdb.c:469:27:    expected long *long_val
      kernel/kgdb.c:469:27:    got unsigned long *<noident>
      kernel/kgdb.c:470:27: warning: incorrect type in argument 2 (different signedness)
      kernel/kgdb.c:470:27:    expected long *long_val
      kernel/kgdb.c:470:27:    got unsigned long *<noident>
      kernel/kgdb.c:894:27: warning: incorrect type in argument 2 (different signedness)
      kernel/kgdb.c:894:27:    expected long *long_val
      kernel/kgdb.c:894:27:    got unsigned long *<noident>
      kernel/kgdb.c:895:27: warning: incorrect type in argument 2 (different signedness)
      kernel/kgdb.c:895:27:    expected long *long_val
      kernel/kgdb.c:895:27:    got unsigned long *<noident>
      kernel/kgdb.c:1127:28: warning: incorrect type in argument 2 (different signedness)
      kernel/kgdb.c:1127:28:    expected long *long_val
      kernel/kgdb.c:1127:28:    got unsigned long *<noident>
      kernel/kgdb.c:1132:25: warning: incorrect type in argument 2 (different signedness)
      kernel/kgdb.c:1132:25:    expected long *long_val
      kernel/kgdb.c:1132:25:    got unsigned long *<noident>
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      688b744d
    • E
      [POWERPC] devres: Add devm_ioremap_prot() · b41e5fff
      Emil Medve 提交于
      We provide an ioremap_flags, so this provides a corresponding
      devm_ioremap_prot.  The slight name difference is at Ben
      Herrenschmidt's request as he plans on changing ioremap_flags to
      ioremap_prot in the future.
      Signed-off-by: NEmil Medve <Emilian.Medve@Freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Acked-by: NTejun Heo <htejun@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b41e5fff
    • S
    • I
      sysfs: build fix · e73b65f1
      Ingo Molnar 提交于
      x86.git testing found the following build failure on v2.6.26-rc1:
      
        In file included from include/linux/kobject.h:22,
                         from include/linux/module.h:17,
                         from include/linux/crypto.h:22,
                         from arch/x86/kernel/asm-offsets_32.c:8,
                         from arch/x86/kernel/asm-offsets.c:3:
        include/linux/sysfs.h:201: error: redefinition of 'sysfs_update_group'
        include/linux/sysfs.h:195: error: previous definition of 'sysfs_update_group' was here
        make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
        make: *** [prepare0] Error 2
      
      with the following config:
      
          http://redhat.com/~mingo/misc/config-Sun_May__4_07_09_30_CEST_2008.bad
      
      the reason for the build failure is the duplicate definition of the
      sysfs_update_group() inline function in include/linux/sysfs.h.
      
      The duplication was a merge error: it was added via -mm by commit
      v2.6.25-7262-g2850699c, "sysfs: sysfs_update_group stub for
      CONFIG_SYSFS=n" a day before v2.6.26-rc1, but a day before that the same
      commit was already merged upstream via the sysfs tree, with commit
      v2.6.25-7211-g1cbfb7a5.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e73b65f1
    • A
      fix asm-mips/types.h syntax error · 2961b423
      Adrian Bunk 提交于
      This patch fixes the following compile error caused by
      commit 23cf11dd
      (mips: types: use <asm-generic/int-*.h> for the mips architecture):
      
      <--  snip  -->
      
      ...
        CC      kernel/bounds.s
      In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/types.h:12,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/page-flags.h:8,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/bounds.c:9:
      include2/asm/types.h:56:2: error: #endif without #if
      make[2]: *** [kernel/bounds.s] Error 1
      
      <--  snip  -->
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      2961b423
    • A
      fix asm-alpha/types.h breakage · 36bbfe2f
      Adrian Bunk 提交于
      This patch fixes the following compile error on alpha caused by
      commit 3726c23d
      (alpha: types: use <asm-generic/int-*.h> for the alpha architecture):
      
      <--  snip  -->
      
      ...
        CC      arch/alpha/kernel/asm-offsets.s
      In file included from include2/asm/topology.h:6,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/topology.h:34,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mmzone.h:683,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/gfp.h:4,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/slab.h:12,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/percpu.h:5,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/rcupdate.h:39,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/pid.h:4,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/sched.h:74,
                       from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/alpha/kernel/asm-offsets.c:9:
      include2/asm/machvec.h:44: error: expected declaration specifiers or '...' before 'dma_addr_t'
      include2/asm/machvec.h:44: error: expected declaration specifiers or '...' before 'dma_addr_t'
      In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/alpha/kernel/asm-offsets.c:12:
      include2/asm/io.h:94: warning: type defaults to 'int' in declaration of 'dma_addr_t'
      include2/asm/io.h:94: warning: variable 'dma_addr_t' declared 'inline'
      include2/asm/io.h:94: error: expected ',' or ';' before 'isa_page_to_bus'
      make[2]: *** [arch/alpha/kernel/asm-offsets.s] Error 1
      
      <--  snip  -->
      
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      36bbfe2f
    • R
      x86: fix up bootparam.h for userspace inclusion · afaafe50
      Rusty Russell 提交于
      commit 8b664aa6 (x86, boot: add linked
      list of struct setup_data) put a new struct in bootparam.h, but didn't
      use the userspace-safe types.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Huang Ying <ying.huang@intel.com>
      Acked-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      afaafe50
  4. 04 5月, 2008 9 次提交
  5. 03 5月, 2008 13 次提交