Skip to content

xen/paravirt_ops patches for 2.6.24

Jeremy Fitzhardinge lkml virtualization xen-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 13 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12paravirt: refactor struct paravirt_ops into smaller pv_*_opsarch/x86/kernel/alternative.c arch/x86/kernel/asm-offsets_32.c arch/x86/kernel/entry_32.S +9 more+630 -5050 replies
2/12paravirt: clean up lazy mode handlingarch/x86/kernel/paravirt_32.c arch/x86/kernel/vmi_32.c arch/x86/xen/enlighten.c +5 more+140 -1040 replies
3/12remove dead code in pgtable_cache_initarch/x86/mm/init_32.c+5 -170 replies
4/12Clean up duplicate includes in arch/i386/xen/arch/x86/xen/enlighten.c arch/x86/xen/mmu.c+0 -21 reply
5/12xen: yield to IPI target if necessaryarch/x86/xen/smp.c arch/x86/xen/time.c arch/x86/xen/xen-ops.h+18 -40 replies
6/12xen: add batch completion callbacksarch/x86/xen/multicalls.c arch/x86/xen/multicalls.h+29 -30 replies
7/12xen: deal with stale cr3 values when unpinning pagetablesarch/x86/xen/enlighten.c arch/x86/xen/mmu.c arch/x86/xen/xen-ops.h+71 -260 replies
8/12xen: lock pte pages while pinning/unpinningarch/x86/xen/enlighten.c arch/x86/xen/mmu.c mm/Kconfig+103 -410 replies
9/12xen: ask the hypervisor how much space it needs reservedarch/x86/xen/enlighten.c+12 -10 replies
10/12xen: fix incorrect vcpu_register_vcpu_info hypercall argumentarch/x86/xen/enlighten.c include/xen/interface/vcpu.h+4 -30 replies
11/12xen: add some debug output for failed multicallsarch/x86/xen/multicalls.c+25 -00 replies
12/12xfs: eagerly remove vmap mappings to avoid upsetting Xenfs/xfs/linux-2.6/xfs_buf.c+13 -01 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/12] xen/paravirt_ops patches for 2.6.24

Hi Linus,

Here's a set of patches to update paravirt_ops and Xen for 2.6.24

A quick overview of the patchset:

paravirt_ops:
Remove the monolithic paravirt_ops structure, and replace it with smaller structures of related functions. Also, clean up the handling of lazy mode to make it easier to implement.

x86/mm/init.c: remove a chunk of dead code

Xen:
- remove duplicate includes
- yield if the target vcpu of an IPI is not currently running
- add post-batch callbacks for multicalls [*]
- deal with unpinning pagetables when another vcpu still [*] has a cr3 reference
- deal with split ptelocks by pinning each pte page separately under lock
- determine the kernel/hypervisor address split dynamically
- use the right arg structure for register_vcpu_info [*]
- add extra debugging output for failed multicalls

XFS:
- eagerly unmap vmapped areas to avoid confict with Xen

[*] bugfix needed for 2.6.23. I've also cc:d them to [email protected]

Diffstat:

 arch/x86/kernel/alternative.c         |    4 
 arch/x86/kernel/asm-offsets_32.c      |   14 
 arch/x86/kernel/entry_32.S            |    2 
 arch/x86/kernel/paravirt_32.c         |  234 ++++++++-----
 arch/x86/kernel/vmi_32.c              |  211 ++++++------
 arch/x86/mm/init_32.c                 |   22 -
 arch/x86/xen/enlighten.c              |  295 +++++++++-------
 arch/x86/xen/mmu.c                    |  149 ++++++--
 arch/x86/xen/multicalls.c             |   52 ++
 arch/x86/xen/multicalls.h             |    5 
 arch/x86/xen/smp.c                    |   14 
 arch/x86/xen/time.c                   |    6 
 arch/x86/xen/xen-ops.h                |   10 
 drivers/char/hvc_lguest.c             |    2 
 drivers/lguest/core.c                 |    6 
 drivers/lguest/lguest.c               |  154 ++++----
 drivers/lguest/lguest_bus.c           |    2 
 fs/xfs/linux-2.6/xfs_buf.c            |   13 
 include/asm-x86/paravirt.h            |  507 ++++++++++++++++-------------
 include/asm-x86/pgtable-3level-defs.h |    2 
 include/xen/interface/vcpu.h          |    5 
 mm/Kconfig                            |    1 
 22 files changed, 1027 insertions(+), 683 deletions(-)

Thanks,
J