[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH v2 00/17] Prepare for enabling scheduling on KVM



The current patch series break the builds for KVM and linuxu platforms
and are supposed to be accepted back-to-back with the patch series
enabling interrupts for those platforms.

Thanks,
Costin

On 04/04/2018 04:53 PM, Costin Lupu wrote:
> The current patch series include refactorizations that integrate functionality
> for both Xen and KVM platforms. We are introducing common CPU related
> definitions, trap handling and thread switching abstractizations. The
> scheduling API is revisited for inlining with the platform changes. The 
> current
> changes are needed in order to efficiently reuse the scheduling functionality 
> on KVM as well.
> 
> Costin Lupu (17):
>   plat/common: Common x86 CPU definitions
>   plat/common: Common x86 segment descriptors definitions
>   plat/common: x86 hardware context definition
>   plat/common: Common x86 CPU interrupt flag handling
>   plat/common: Common x86 CPU functions
>   plat/common: Common x86 tracing functions
>   plat/common: Common x86 traps definitions and functions
>   plat/common: Add ukplat_lcpu_{enable,disable}_irq functions
>   plat/common: Halting functions
>   plat/common: Common x86 threading code
>   arch/x86_64: Add nop() macro
>   arch/x86_64: Add function for stack pointer retrieval
>   lib/uksched: Updates for inlining with plat/common changes
>   lib/ukschedcoop: Updates for inlining with uksched API changes
>   plat/xen: Remove events enabling from platform code
>   plat/xen: Add IRQ subsystem initialization function
>   lib/ukboot: Updates for inlining with platform and scheduling changes
> 
>  include/uk/arch/thread.h                   |  53 -----
>  include/uk/arch/x86_64/lcpu.h              |  40 +---
>  include/uk/plat/irq.h                      |  54 +++++
>  include/uk/plat/lcpu.h                     |  25 ++-
>  include/uk/plat/thread.h                   |  70 +++++-
>  lib/ukboot/boot.c                          |  21 +-
>  lib/uksched/include/uk/sched.h             | 120 ++++++----
>  lib/uksched/include/uk/thread.h            |  39 ++--
>  lib/uksched/sched.c                        | 124 ++++++++---
>  lib/uksched/thread.c                       |  76 ++++++-
>  lib/ukschedcoop/schedcoop.c                |  45 ++--
>  plat/common/include/_time.h                |  42 ++++
>  plat/common/include/cpu.h                  |  46 ++++
>  plat/common/include/sw_ctx.h               |  56 +++++
>  plat/common/include/trace.h                |  48 ++++
>  plat/common/include/x86/cpu.h              | 109 +++++++++
>  plat/common/include/x86/cpu_defs.h         |  76 +++++++
>  plat/common/include/x86/desc.h             | 197 +++++++++++++++++
>  plat/common/include/x86/irq.h              |  87 ++++++++
>  plat/common/include/x86/regs.h             |  94 ++++++++
>  plat/common/include/x86/traps.h            | 115 ++++++++++
>  plat/common/lcpu.c                         |  60 +++++
>  plat/common/sw_ctx.c                       |  97 ++++++++
>  plat/common/thread.c                       |  66 ++++++
>  plat/common/x86/cpu_native.c               |  49 +++++
>  plat/common/x86/thread_start.S             |  65 ++++++
>  plat/common/x86/trace.c                    |  92 ++++++++
>  plat/common/x86/traps.c                    | 116 ++++++++++
>  plat/kvm/Makefile.uk                       |   8 +
>  plat/kvm/include/kvm-x86/cpu_x86_64.h      |   5 -
>  plat/kvm/include/kvm-x86/cpu_x86_64_defs.h |  46 +---
>  plat/kvm/shutdown.c                        |   2 +-
>  plat/kvm/x86/console.c                     |   2 +-
>  plat/kvm/x86/cpu_x86_64.c                  |  11 +-
>  plat/kvm/x86/entry64.S                     |   2 +-
>  plat/kvm/x86/lcpu.c                        |   6 -
>  plat/xen/Makefile.uk                       |  16 +-
>  plat/xen/events.c                          |   8 +
>  plat/xen/include/common/sched.h            |  52 -----
>  plat/xen/include/xen-x86/arch_sched.h      |  55 -----
>  plat/xen/include/xen-x86/cpu.h             | 103 ---------
>  plat/xen/include/xen-x86/irq.h             |  55 +----
>  plat/xen/include/xen-x86/os.h              |  46 +---
>  plat/xen/include/xen-x86/traps.h           |  23 +-
>  plat/xen/lcpu.c                            |  27 +--
>  plat/xen/sched.c                           | 106 ---------
>  plat/xen/thread.c                          |  66 ------
>  plat/xen/x86/arch_events.c                 |   2 +-
>  plat/xen/x86/arch_thread.c                 |  93 --------
>  plat/xen/x86/arch_time.c                   |  17 +-
>  plat/xen/x86/cpu_pv.c                      |  47 ++++
>  plat/xen/x86/entry64.S                     | 231 +++++++------------
>  plat/xen/x86/setup.c                       |   8 +-
>  plat/xen/x86/traps.c                       | 342 
> ++++++-----------------------
>  54 files changed, 2138 insertions(+), 1323 deletions(-)
>  delete mode 100644 include/uk/arch/thread.h
>  create mode 100644 include/uk/plat/irq.h
>  create mode 100644 plat/common/include/_time.h
>  create mode 100644 plat/common/include/cpu.h
>  create mode 100644 plat/common/include/sw_ctx.h
>  create mode 100644 plat/common/include/trace.h
>  create mode 100644 plat/common/include/x86/cpu.h
>  create mode 100644 plat/common/include/x86/cpu_defs.h
>  create mode 100644 plat/common/include/x86/desc.h
>  create mode 100644 plat/common/include/x86/irq.h
>  create mode 100644 plat/common/include/x86/regs.h
>  create mode 100644 plat/common/include/x86/traps.h
>  create mode 100644 plat/common/lcpu.c
>  create mode 100644 plat/common/sw_ctx.c
>  create mode 100644 plat/common/thread.c
>  create mode 100644 plat/common/x86/cpu_native.c
>  create mode 100644 plat/common/x86/thread_start.S
>  create mode 100644 plat/common/x86/trace.c
>  create mode 100644 plat/common/x86/traps.c
>  delete mode 100644 plat/xen/include/common/sched.h
>  delete mode 100644 plat/xen/include/xen-x86/arch_sched.h
>  delete mode 100644 plat/xen/include/xen-x86/cpu.h
>  delete mode 100644 plat/xen/sched.c
>  delete mode 100644 plat/xen/thread.c
>  delete mode 100644 plat/xen/x86/arch_thread.c
>  create mode 100644 plat/xen/x86/cpu_pv.c
> 

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.