1. 29 7月, 2008 10 次提交
    • R
      lguest: Guest int3 fix · 0c12091d
      Rusty Russell 提交于
      Ron Minnich noticed that guest userspace gets a GPF when it tries to int3:
      we need to copy the privilege level from the guest-supplied IDT to the real
      IDT.  int3 is the only common case where guest userspace expects to invoke
      an interrupt, so that's the symptom of failing to do this.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      0c12091d
    • R
      lguest: set max_pfn_mapped, growl loudly at Yinghai Lu · 5d006d8d
      Rusty Russell 提交于
      6af61a76 'x86: clean up max_pfn_mapped
      usage - 32-bit' makes the following comment:
      
          XEN PV and lguest may need to assign max_pfn_mapped too.
      
      But no CC.  Yinghai, wasting fellow developers' time is a VERY bad
      habit.  If you do it again, I will hunt you down and try to extract
      the three hours of my life I just lost :)
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Yinghai Lu <yhlu.kernel@gmail.com>
      5d006d8d
    • L
      Merge branch 'cpus4096-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 63add2f2
      Linus Torvalds 提交于
      * 'cpus4096-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        cpu masks: optimize and clean up cpumask_of_cpu()
        cpumask: export cpumask_of_cpu_map
        cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu
        cpumask: put cpumask_of_cpu_map in the initdata section
        cpumask: make cpumask_of_cpu_map generic
      63add2f2
    • J
      ipwireless: fix compile failure · 3684a601
      James Bottomley 提交于
      There's a brown paper bag compile failure introduced by this patch
      
      commit a0138692
      Author: David Sterba <dsterba@suse.cz>
      Date:   Mon Jul 28 16:53:32 2008 +0200
      
          ipwireless: Preallocate received packet buffers with MRU size
      
      Really, it can't ever have been even compile tested.  It looks like the
      closing bracket is in the wrong place, so this is the fix.
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3684a601
    • I
      Merge branch 'linus' into cpus4096 · 9e3ee1c3
      Ingo Molnar 提交于
      Conflicts:
      
      	kernel/stop_machine.c
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9e3ee1c3
    • L
      cpu masks: optimize and clean up cpumask_of_cpu() · e56b3bc7
      Linus Torvalds 提交于
      Clean up and optimize cpumask_of_cpu(), by sharing all the zero words.
      
      Instead of stupidly generating all possible i=0...NR_CPUS 2^i patterns
      creating a huge array of constant bitmasks, realize that the zero words
      can be shared.
      
      In other words, on a 64-bit architecture, we only ever need 64 of these
      arrays - with a different bit set in one single world (with enough zero
      words around it so that we can create any bitmask by just offsetting in
      that big array). And then we just put enough zeroes around it that we
      can point every single cpumask to be one of those things.
      
      So when we have 4k CPU's, instead of having 4k arrays (of 4k bits each,
      with one bit set in each array - 2MB memory total), we have exactly 64
      arrays instead, each 8k bits in size (64kB total).
      
      And then we just point cpumask(n) to the right position (which we can
      calculate dynamically). Once we have the right arrays, getting
      "cpumask(n)" ends up being:
      
        static inline const cpumask_t *get_cpu_mask(unsigned int cpu)
        {
                const unsigned long *p = cpu_bit_bitmap[1 + cpu % BITS_PER_LONG];
                p -= cpu / BITS_PER_LONG;
                return (const cpumask_t *)p;
        }
      
      This brings other advantages and simplifications as well:
      
       - we are not wasting memory that is just filled with a single bit in
         various different places
      
       - we don't need all those games to re-create the arrays in some dense
         format, because they're already going to be dense enough.
      
      if we compile a kernel for up to 4k CPU's, "wasting" that 64kB of memory
      is a non-issue (especially since by doing this "overlapping" trick we
      probably get better cache behaviour anyway).
      
      [ mingo@elte.hu:
      
        Converted Linus's mails into a commit. See:
      
           http://lkml.org/lkml/2008/7/27/156
           http://lkml.org/lkml/2008/7/28/320
      
        Also applied a family filter - which also has the side-effect of leaving
        out the bits where Linus calls me an idio... Oh, never mind ;-)
      ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Cc: Mike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e56b3bc7
    • I
      Merge branch 'linus' into cpus4096 · 414f746d
      Ingo Molnar 提交于
      414f746d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · f934fb19
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: add driver for Atmel integrated touchscreen controller
        Input: ads7846 - optimize order of calculating Rt in ads7846_rx()
        Input: ads7846 - fix sparse endian warnings
        Input: uinput - remove duplicate include
        Input: serio - offload resume to kseriod
        Input: serio - mark serio_register_driver() __must_check
      f934fb19
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm · 3988ba07
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
        dlm: fix uninitialized variable for search_rsb_list callers
        dlm: release socket on error
        dlm: fix basts for granted CW waiting PR/CW
        dlm: check for null in device_write
      3988ba07
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · d9089c29
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (25 commits)
        powerpc: Disable 64K hugetlb support when doing 64K SPU mappings
        powerpc/powermac: Fixup default serial port device for pmac_zilog
        powerpc/powermac: Use sane default baudrate for SCC debugging
        powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 64-bit
        powerpc: Show processor cache information in sysfs
        powerpc: Make core id information available to userspace
        powerpc: Make core sibling information available to userspace
        powerpc/vio: More fallout from dma_mapping_error API change
        ibmveth: Fix multiple errors with dma_mapping_error conversion
        powerpc/pseries: Fix CMO sysdev attribute API change fallout
        powerpc: Enable tracehook for the architecture
        powerpc: Add TIF_NOTIFY_RESUME support for tracehook
        powerpc: Add asm/syscall.h with the tracehook entry points
        powerpc: Make syscall tracing use tracehook.h helpers
        powerpc: Call tracehook_signal_handler() when setting up signal frames
        powerpc: Update cpu_sibling_maps dynamically
        powerpc: register_cpu_online should be __cpuinit
        powerpc: kill useless SMT code in prom_hold_cpus
        powerpc: Fix 8xx build failure
        powerpc: Fix vio build warnings
        ...
      d9089c29
  2. 28 7月, 2008 30 次提交