All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/15] x86/paravirt, xen: several cleanups
@ 2018-08-28  7:40 ` Juergen Gross
  0 siblings, 0 replies; 66+ messages in thread
From: Juergen Gross @ 2018-08-28  7:40 UTC (permalink / raw)
  To: linux-kernel, xen-devel, x86, virtualization
  Cc: akataria, rusty, boris.ostrovsky, hpa, tglx, mingo, Juergen Gross

This series removes some no longer needed stuff from paravirt
infrastructure and puts large quantities of paravirt ops under a new
config option PARAVIRT_XXL which is selected by XEN_PV only.

Some Xen related cleanups:
- move some pv-only code from CONFIG_XEN to CONFIG_XEN_PV
- use CONFIG_XEN_PVHVM in Makefile instead of #ifdef around a complete source
- add SPDX identifier where missing

A pvops kernel without XEN_PV being configured is about 2.5% smaller
with this series applied.

Changes in V3:
- merged with the Xen cleanup series which is a prerequisite for the
  pv cleanup
- fix build errors on ARM
- let VSMP select PARAVIRT_XXL, put all irq_ops under PARAVIRT_XXL

Changes in V2:
- patch 4: shorten pv_ops sub-structure names (Jan Beulich)
- patch 11: new patch

Juergen Gross (15):
  xen: move pv irq related functions under CONFIG_XEN_PV umbrella
  xen: move pv specific parts of arch/x86/xen/mmu.c to mmu_pv.c
  xen: link platform-pci-unplug.o only if CONFIG_XEN_PVHVM
  xen: add SPDX identifier in arch/x86/xen files
  x86/paravirt: make paravirt_patch_call() and paravirt_patch_jmp()
    static
  x86/paravirt: remove clobbers parameter from paravirt patch functions
  x86/paravirt: remove clobbers from struct paravirt_patch_site
  x86/paravirt: use a single ops structure
  x86/paravirt: remove unused paravirt bits
  x86/paravirt: introduce new config option PARAVIRT_XXL
  x86/paravirt: move items in pv_info under PARAVIRT_XXL umbrella
  x86/paravirt: move the Xen-only pv_cpu_ops under the PARAVIRT_XXL
    umbrella
  x86/paravirt: move the pv_irq_ops under the PARAVIRT_XXL umbrella
  x86/paravirt: move the Xen-only pv_mmu_ops under the PARAVIRT_XXL
    umbrella
  x86/paravirt: remove unneeded mmu related paravirt ops bits

 arch/arm/include/asm/paravirt.h             |   9 +-
 arch/arm/kernel/paravirt.c                  |   4 +-
 arch/arm/xen/enlighten.c                    |  34 ---
 arch/arm64/include/asm/paravirt.h           |   9 +-
 arch/arm64/kernel/paravirt.c                |   4 +-
 arch/x86/Kconfig                            |   4 +
 arch/x86/boot/compressed/misc.h             |   1 +
 arch/x86/entry/entry_32.S                   |   8 +-
 arch/x86/entry/entry_64.S                   |   8 +-
 arch/x86/hyperv/mmu.c                       |   4 +-
 arch/x86/include/asm/debugreg.h             |   2 +-
 arch/x86/include/asm/desc.h                 |   4 +-
 arch/x86/include/asm/fixmap.h               |   2 +-
 arch/x86/include/asm/irqflags.h             |  16 +-
 arch/x86/include/asm/mmu_context.h          |   4 +-
 arch/x86/include/asm/msr.h                  |   4 +-
 arch/x86/include/asm/paravirt.h             | 415 +++++++++++++---------------
 arch/x86/include/asm/paravirt_types.h       |  82 +++---
 arch/x86/include/asm/pgalloc.h              |   2 +-
 arch/x86/include/asm/pgtable-3level_types.h |   2 +-
 arch/x86/include/asm/pgtable.h              |   7 +-
 arch/x86/include/asm/processor.h            |   4 +-
 arch/x86/include/asm/ptrace.h               |   2 +-
 arch/x86/include/asm/segment.h              |   2 +-
 arch/x86/include/asm/special_insns.h        |   4 +-
 arch/x86/kernel/alternative.c               |   2 +-
 arch/x86/kernel/asm-offsets.c               |  13 +-
 arch/x86/kernel/asm-offsets_64.c            |   9 +-
 arch/x86/kernel/cpu/common.c                |   4 +-
 arch/x86/kernel/cpu/vmware.c                |   4 +-
 arch/x86/kernel/head_64.S                   |   2 +-
 arch/x86/kernel/kvm.c                       |  19 +-
 arch/x86/kernel/kvmclock.c                  |   4 +-
 arch/x86/kernel/paravirt-spinlocks.c        |  15 +-
 arch/x86/kernel/paravirt.c                  | 305 ++++++++++----------
 arch/x86/kernel/paravirt_patch_32.c         |  57 ++--
 arch/x86/kernel/paravirt_patch_64.c         |  65 ++---
 arch/x86/kernel/tsc.c                       |   2 +-
 arch/x86/kernel/vsmp_64.c                   |  26 +-
 arch/x86/mm/mem_encrypt_identity.c          |   1 +
 arch/x86/xen/Kconfig                        |   1 +
 arch/x86/xen/Makefile                       |  41 ++-
 arch/x86/xen/efi.c                          |  14 +-
 arch/x86/xen/enlighten.c                    |   2 +
 arch/x86/xen/enlighten_hvm.c                |   2 +
 arch/x86/xen/enlighten_pv.c                 |  31 ++-
 arch/x86/xen/grant-table.c                  |  25 +-
 arch/x86/xen/irq.c                          |   2 +-
 arch/x86/xen/mmu.c                          | 188 +------------
 arch/x86/xen/mmu_hvm.c                      |   2 +-
 arch/x86/xen/mmu_pv.c                       | 168 ++++++++++-
 arch/x86/xen/p2m.c                          |   2 +
 arch/x86/xen/pci-swiotlb-xen.c              |   2 +
 arch/x86/xen/platform-pci-unplug.c          |  18 +-
 arch/x86/xen/spinlock.c                     |  11 +-
 arch/x86/xen/time.c                         |   4 +-
 arch/x86/xen/vdso.h                         |   2 +
 arch/x86/xen/xen-pvh.S                      |  15 +-
 drivers/xen/time.c                          |   2 +-
 include/xen/events.h                        |   2 +
 include/xen/interface/memory.h              |   6 -
 include/xen/xen-ops.h                       | 133 ++++++---
 62 files changed, 880 insertions(+), 958 deletions(-)

-- 
2.16.4


^ permalink raw reply	[flat|nested] 66+ messages in thread
* [PATCH v3 00/15] x86/paravirt, xen: several cleanups
@ 2018-08-28  7:40 Juergen Gross
  0 siblings, 0 replies; 66+ messages in thread
From: Juergen Gross @ 2018-08-28  7:40 UTC (permalink / raw)
  To: linux-kernel, xen-devel, x86, virtualization
  Cc: Juergen Gross, boris.ostrovsky, rusty, mingo, hpa, akataria, tglx

This series removes some no longer needed stuff from paravirt
infrastructure and puts large quantities of paravirt ops under a new
config option PARAVIRT_XXL which is selected by XEN_PV only.

Some Xen related cleanups:
- move some pv-only code from CONFIG_XEN to CONFIG_XEN_PV
- use CONFIG_XEN_PVHVM in Makefile instead of #ifdef around a complete source
- add SPDX identifier where missing

A pvops kernel without XEN_PV being configured is about 2.5% smaller
with this series applied.

Changes in V3:
- merged with the Xen cleanup series which is a prerequisite for the
  pv cleanup
- fix build errors on ARM
- let VSMP select PARAVIRT_XXL, put all irq_ops under PARAVIRT_XXL

Changes in V2:
- patch 4: shorten pv_ops sub-structure names (Jan Beulich)
- patch 11: new patch

Juergen Gross (15):
  xen: move pv irq related functions under CONFIG_XEN_PV umbrella
  xen: move pv specific parts of arch/x86/xen/mmu.c to mmu_pv.c
  xen: link platform-pci-unplug.o only if CONFIG_XEN_PVHVM
  xen: add SPDX identifier in arch/x86/xen files
  x86/paravirt: make paravirt_patch_call() and paravirt_patch_jmp()
    static
  x86/paravirt: remove clobbers parameter from paravirt patch functions
  x86/paravirt: remove clobbers from struct paravirt_patch_site
  x86/paravirt: use a single ops structure
  x86/paravirt: remove unused paravirt bits
  x86/paravirt: introduce new config option PARAVIRT_XXL
  x86/paravirt: move items in pv_info under PARAVIRT_XXL umbrella
  x86/paravirt: move the Xen-only pv_cpu_ops under the PARAVIRT_XXL
    umbrella
  x86/paravirt: move the pv_irq_ops under the PARAVIRT_XXL umbrella
  x86/paravirt: move the Xen-only pv_mmu_ops under the PARAVIRT_XXL
    umbrella
  x86/paravirt: remove unneeded mmu related paravirt ops bits

 arch/arm/include/asm/paravirt.h             |   9 +-
 arch/arm/kernel/paravirt.c                  |   4 +-
 arch/arm/xen/enlighten.c                    |  34 ---
 arch/arm64/include/asm/paravirt.h           |   9 +-
 arch/arm64/kernel/paravirt.c                |   4 +-
 arch/x86/Kconfig                            |   4 +
 arch/x86/boot/compressed/misc.h             |   1 +
 arch/x86/entry/entry_32.S                   |   8 +-
 arch/x86/entry/entry_64.S                   |   8 +-
 arch/x86/hyperv/mmu.c                       |   4 +-
 arch/x86/include/asm/debugreg.h             |   2 +-
 arch/x86/include/asm/desc.h                 |   4 +-
 arch/x86/include/asm/fixmap.h               |   2 +-
 arch/x86/include/asm/irqflags.h             |  16 +-
 arch/x86/include/asm/mmu_context.h          |   4 +-
 arch/x86/include/asm/msr.h                  |   4 +-
 arch/x86/include/asm/paravirt.h             | 415 +++++++++++++---------------
 arch/x86/include/asm/paravirt_types.h       |  82 +++---
 arch/x86/include/asm/pgalloc.h              |   2 +-
 arch/x86/include/asm/pgtable-3level_types.h |   2 +-
 arch/x86/include/asm/pgtable.h              |   7 +-
 arch/x86/include/asm/processor.h            |   4 +-
 arch/x86/include/asm/ptrace.h               |   2 +-
 arch/x86/include/asm/segment.h              |   2 +-
 arch/x86/include/asm/special_insns.h        |   4 +-
 arch/x86/kernel/alternative.c               |   2 +-
 arch/x86/kernel/asm-offsets.c               |  13 +-
 arch/x86/kernel/asm-offsets_64.c            |   9 +-
 arch/x86/kernel/cpu/common.c                |   4 +-
 arch/x86/kernel/cpu/vmware.c                |   4 +-
 arch/x86/kernel/head_64.S                   |   2 +-
 arch/x86/kernel/kvm.c                       |  19 +-
 arch/x86/kernel/kvmclock.c                  |   4 +-
 arch/x86/kernel/paravirt-spinlocks.c        |  15 +-
 arch/x86/kernel/paravirt.c                  | 305 ++++++++++----------
 arch/x86/kernel/paravirt_patch_32.c         |  57 ++--
 arch/x86/kernel/paravirt_patch_64.c         |  65 ++---
 arch/x86/kernel/tsc.c                       |   2 +-
 arch/x86/kernel/vsmp_64.c                   |  26 +-
 arch/x86/mm/mem_encrypt_identity.c          |   1 +
 arch/x86/xen/Kconfig                        |   1 +
 arch/x86/xen/Makefile                       |  41 ++-
 arch/x86/xen/efi.c                          |  14 +-
 arch/x86/xen/enlighten.c                    |   2 +
 arch/x86/xen/enlighten_hvm.c                |   2 +
 arch/x86/xen/enlighten_pv.c                 |  31 ++-
 arch/x86/xen/grant-table.c                  |  25 +-
 arch/x86/xen/irq.c                          |   2 +-
 arch/x86/xen/mmu.c                          | 188 +------------
 arch/x86/xen/mmu_hvm.c                      |   2 +-
 arch/x86/xen/mmu_pv.c                       | 168 ++++++++++-
 arch/x86/xen/p2m.c                          |   2 +
 arch/x86/xen/pci-swiotlb-xen.c              |   2 +
 arch/x86/xen/platform-pci-unplug.c          |  18 +-
 arch/x86/xen/spinlock.c                     |  11 +-
 arch/x86/xen/time.c                         |   4 +-
 arch/x86/xen/vdso.h                         |   2 +
 arch/x86/xen/xen-pvh.S                      |  15 +-
 drivers/xen/time.c                          |   2 +-
 include/xen/events.h                        |   2 +
 include/xen/interface/memory.h              |   6 -
 include/xen/xen-ops.h                       | 133 ++++++---
 62 files changed, 880 insertions(+), 958 deletions(-)

-- 
2.16.4

^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2018-09-07 14:54 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-28  7:40 [PATCH v3 00/15] x86/paravirt, xen: several cleanups Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` [PATCH v3 01/15] xen: move pv irq related functions under CONFIG_XEN_PV umbrella Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 14:54   ` [tip:x86/paravirt] x86/xen: Move " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 02/15] xen: move pv specific parts of arch/x86/xen/mmu.c to mmu_pv.c Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 14:55   ` [tip:x86/paravirt] x86/xen: Move " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 02/15] xen: move " Juergen Gross
2018-08-28  7:40 ` [PATCH v3 03/15] xen: link platform-pci-unplug.o only if CONFIG_XEN_PVHVM Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 14:56   ` [tip:x86/paravirt] x86/xen: Link " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 03/15] xen: link " Juergen Gross
2018-08-28  7:40 ` [PATCH v3 04/15] xen: add SPDX identifier in arch/x86/xen files Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40   ` Juergen Gross
2018-09-03 14:56   ` [tip:x86/paravirt] x86/xen: Add " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 05/15] x86/paravirt: make paravirt_patch_call() and paravirt_patch_jmp() static Juergen Gross
2018-08-28  7:40   ` Juergen Gross
2018-09-03 14:57   ` [tip:x86/paravirt] x86/paravirt: Make " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 05/15] x86/paravirt: make " Juergen Gross
2018-08-28  7:40 ` [PATCH v3 06/15] x86/paravirt: remove clobbers parameter from paravirt patch functions Juergen Gross
2018-09-03 14:57   ` [tip:x86/paravirt] x86/paravirt: Remove " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 06/15] x86/paravirt: remove " Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` [PATCH v3 07/15] x86/paravirt: remove clobbers from struct paravirt_patch_site Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 14:58   ` [tip:x86/paravirt] x86/paravirt: Remove " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 08/15] x86/paravirt: use a single ops structure Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 14:58   ` [tip:x86/paravirt] x86/paravirt: Use " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 08/15] x86/paravirt: use " Juergen Gross
2018-08-28  7:40 ` [PATCH v3 09/15] x86/paravirt: remove unused paravirt bits Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40   ` Juergen Gross
2018-09-03 14:59   ` [tip:x86/paravirt] x86/paravirt: Remove " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 10/15] x86/paravirt: introduce new config option PARAVIRT_XXL Juergen Gross
2018-09-03 14:59   ` [tip:x86/paravirt] x86/paravirt: Introduce " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 10/15] x86/paravirt: introduce " Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` [PATCH v3 11/15] x86/paravirt: move items in pv_info under PARAVIRT_XXL umbrella Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 15:00   ` [tip:x86/paravirt] x86/paravirt: Move " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 12/15] x86/paravirt: move the Xen-only pv_cpu_ops under the " Juergen Gross
2018-09-03 15:01   ` [tip:x86/paravirt] x86/paravirt: Move " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 12/15] x86/paravirt: move " Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` [PATCH v3 13/15] x86/paravirt: move the pv_irq_ops " Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 15:01   ` [tip:x86/paravirt] x86/paravirt: Move " tip-bot for Juergen Gross
2018-09-07 14:49     ` Borislav Petkov
2018-09-07 14:52       ` Juergen Gross
2018-09-07 14:54         ` Borislav Petkov
2018-08-28  7:40 ` [PATCH v3 14/15] x86/paravirt: move the Xen-only pv_mmu_ops " Juergen Gross
2018-09-03 15:02   ` [tip:x86/paravirt] x86/paravirt: Move " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 14/15] x86/paravirt: move " Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-08-28  7:40 ` [PATCH v3 15/15] x86/paravirt: remove unneeded mmu related paravirt ops bits Juergen Gross
2018-08-28  7:40 ` Juergen Gross
2018-09-03 15:02   ` [tip:x86/paravirt] x86/paravirt: Remove " tip-bot for Juergen Gross
2018-08-28  7:40 ` [PATCH v3 15/15] x86/paravirt: remove " Juergen Gross
  -- strict thread matches above, loose matches on Subject: below --
2018-08-28  7:40 [PATCH v3 00/15] x86/paravirt, xen: several cleanups Juergen Gross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.