05 Jan, 2010

1 commit


15 Dec, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)
    m68k: rename global variable vmalloc_end to m68k_vmalloc_end
    percpu: add missing per_cpu_ptr_to_phys() definition for UP
    percpu: Fix kdump failure if booted with percpu_alloc=page
    percpu: make misc percpu symbols unique
    percpu: make percpu symbols in ia64 unique
    percpu: make percpu symbols in powerpc unique
    percpu: make percpu symbols in x86 unique
    percpu: make percpu symbols in xen unique
    percpu: make percpu symbols in cpufreq unique
    percpu: make percpu symbols in oprofile unique
    percpu: make percpu symbols in tracer unique
    percpu: make percpu symbols under kernel/ and mm/ unique
    percpu: remove some sparse warnings
    percpu: make alloc_percpu() handle array types
    vmalloc: fix use of non-existent percpu variable in put_cpu_var()
    this_cpu: Use this_cpu_xx in trace_functions_graph.c
    this_cpu: Use this_cpu_xx for ftrace
    this_cpu: Use this_cpu_xx in nmi handling
    this_cpu: Use this_cpu operations in RCU
    this_cpu: Use this_cpu ops for VM statistics
    ...

    Fix up trivial (famous last words) global per-cpu naming conflicts in
    arch/x86/kvm/svm.c
    mm/slab.c

    Linus Torvalds
     

29 Oct, 2009

1 commit

  • This patch updates misc percpu related symbols such that percpu
    symbols are unique and don't clash with local symbols. This serves
    two purposes of decreasing the possibility of global percpu symbol
    collision and allowing dropping per_cpu__ prefix from percpu symbols.

    * drivers/crypto/padlock-aes.c: s/last_cword/paes_last_cword/

    * drivers/lguest/x86/core.c: s/last_cpu/lg_last_cpu/

    * drivers/s390/net/netiucv.c: rename the variable used in a macro to
    avoid clashing with percpu symbol

    * arch/mn10300/kernel/kprobes.c: replace current_ prefix with cur_ for
    static variables. Please note that percpu symbol current_kprobe
    can't be changed as it's used by generic code.

    Partly based on Rusty Russell's "alloc_percpu: rename percpu vars
    which cause name clashes" patch.

    Signed-off-by: Tejun Heo
    Reviewed-by: Christoph Lameter
    Cc: Rusty Russell
    Cc: Herbert Xu
    Cc: Chuck Ebbert
    Cc: David Howells
    Cc: Koichi Yasutake
    Cc: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Cc: David S. Miller
    Cc: Masami Hiramatsu
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com

    Tejun Heo
     

12 Oct, 2009

1 commit


02 Oct, 2009

1 commit


24 Sep, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
    lguest: don't force VIRTIO_F_NOTIFY_ON_EMPTY
    lguest: cleanup for map_switcher()
    lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET
    lguest: use set_pte/set_pmd uniformly for real page table entries
    lguest: move panic notifier registration to its expected place.
    virtio_blk: add support for cache flush
    virtio: add virtio IDs file
    virtio: get rid of redundant VIRTIO_ID_9P definition
    virtio: make add_buf return capacity remaining
    virtio_pci: minor MSI-X cleanups

    Linus Torvalds
     

23 Sep, 2009

3 commits


21 Sep, 2009

1 commit


30 Jul, 2009

4 commits

  • I've been doing this for years, and akpm picked me up on it about 12
    months ago. lguest partly serves as example code, so let's do it Right.

    Also, remove two unused fields in struct vblk_info in the example launcher.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     
  • Every so often, after code shuffles, I need to go through and unbitrot
    the Lguest Journey (see drivers/lguest/README). Since we now use RCU in
    a simple form in one place I took the opportunity to expand that explanation.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar
    Cc: Paul McKenney

    Rusty Russell
     
  • I don't really notice it (except to begrudge the extra vertical
    space), but Ingo does. And he pointed out that one excuse of lguest
    is as a teaching tool, it should set a good example.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     
  • "new" was freed and then dereferenced. Also the return value wasn't being
    used so I modified the caller as well.

    Compile tested only. Found by smatch (http://repo.or.cz/w/smatch.git).

    regards,
    dan carpenter

    Signed-off-by: Dan Carpenter
    Signed-off-by: Rusty Russell

    Dan Carpenter
     

17 Jul, 2009

1 commit


01 Jul, 2009

1 commit

  • Change the eventfd interface to de-couple the eventfd memory context, from
    the file pointer instance.

    Without such change, there is no clean way to racely free handle the
    POLLHUP event sent when the last instance of the file* goes away. Also,
    now the internal eventfd APIs are using the eventfd context instead of the
    file*.

    This patch is required by KVM's IRQfd code, which is still under
    development.

    Signed-off-by: Davide Libenzi
    Cc: Gregory Haskins
    Cc: Rusty Russell
    Cc: Benjamin LaHaise
    Cc: Avi Kivity
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     

13 Jun, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (31 commits)
    lguest: add support for indirect ring entries
    lguest: suppress notifications in example Launcher
    lguest: try to batch interrupts on network receive
    lguest: avoid sending interrupts to Guest when no activity occurs.
    lguest: implement deferred interrupts in example Launcher
    lguest: remove obsolete LHREQ_BREAK call
    lguest: have example Launcher service all devices in separate threads
    lguest: use eventfds for device notification
    eventfd: export eventfd_signal and eventfd_fget for lguest
    lguest: allow any process to send interrupts
    lguest: PAE fixes
    lguest: PAE support
    lguest: Add support for kvm_hypercall4()
    lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD
    lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated
    lguest: map switcher with executable page table entries
    lguest: fix writev returning short on console output
    lguest: clean up length-used value in example launcher
    lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition.
    lguest: beyond ARRAY_SIZE of cpu->arch.gdt
    ...

    Linus Torvalds
     

12 Jun, 2009

15 commits


27 May, 2009

1 commit


19 Apr, 2009

2 commits

  • Fixes guest crash 'lguest: bad read address 0x4800000 len 256'

    The new per-cpu allocator ends up handing a non-linear address to
    write_gdt_entry. We do __pa() on it, and hand it to the host, which
    kills us.

    I've long wanted to make the hypercall "LOAD_GDT_ENTRY" to match the IDT
    code, but had no pressing reason until now.

    Signed-off-by: Rusty Russell
    Cc: lguest@ozlabs.org

    Rusty Russell
     
  • Typical message: 'lguest: unhandled trap 6 at 0x418726 (0x0)'

    vmlinux guests were broken by 4cd8b5e2a159f18a1507f1187b44a1acbfa6341b
    'lguest: use KVM hypercalls', which rewrites guest text from kvm hypercalls
    to trap 31.

    The Launcher mmaps the kernel image. The Guest executes and
    immediately faults in the first text page (read-only). Then it hits a
    hypercall, and we rewrite that hypercall, causing a copy-on-write.
    But the Guest pagetables still refer to the old page: we fault again,
    but as Host we see the hypercall already rewritten, and pass the fault
    back to the Guest. The Guest hasn't set up an IDT yet, so we kill it.

    This doesn't happen with bzImages: they unpack themselves and so the
    text pages are already read-write.

    Signed-off-by: Rusty Russell
    Tested-by: Patrick McHardy

    Matias Zabaljauregui
     

30 Mar, 2009

3 commits


28 Mar, 2009

1 commit


09 Mar, 2009

1 commit

  • Impact: remove lots of lguest boot WARN_ON() when CONFIG_SPARSE_IRQ=y

    We now need to call irq_to_desc_alloc_cpu() before
    set_irq_chip_and_handler_name(), but we can't do that from init_IRQ (no
    kmalloc available).

    So do it as we use interrupts instead. Also means we only alloc for
    irqs we use, which was the intent of CONFIG_SPARSE_IRQ anyway.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell