| 
         
xen-ia64-devel
[Xen-ia64-devel] Re: [PATCH 00/15] ia64/pv_ops take 5
 
Hi Tony.
Could you give me comments/hints to make progress?
What do you think about those patches?
I believe that ia64/kvm and other ia64 virtualization technologies 
also can get much benefit from ia64/pv_ops and that no performance
penalties exist with CONFIG_PARAVIRT=n.
Regarding to the ia64/xen specific patches, should they go through
the xen maintainer like the ia64/kvm patches did?
thanks,
On Wed, Apr 30, 2008 at 09:29:13PM +0900, Isaku Yamahata wrote:
> Hi. This patchset implements ia64/pv_ops support which is the
> framework for virtualization support.
> Now all the comments so far have been addressed, but only a few exceptions.
> 
> On x86 various ways to support virtualization were proposed, and
> eventually pv_ops won. So on ia64 the pv_ops strategy is appropriate too.
> Later I'll post the patchset which implements xen domU based on
> ia64/pv_ops. Currently only ia64/xen pv_ops implementation exists,
> but I believe ia64/kvm can also obtain benefits from this ia64/pv_ops
> frame work.
> linux/ia64 has the machine vector interface and another approach might be
> to utilize it. However pv_ops is better for some reasons. Please see
> the thread of the mailing list from
> http://www.spinics.net/lists/linux-ia64/msg05238.html
> 
> 
> This patchset does the followings.
> - some preparation work. Mainly make the kernel virtualization friendly.
> - introduce pv_info which describes the execution environment.
> - introduce macros for hand written assembly code to paravirtualize
>   hand written code to replace sensitive/privileged instructions.
> - introduce various hooks to replace the implementation with
>   paravirtualized.
>   They are defined as function tables called, pv_init_ops, pv_cpu_ops,
>   pv_irq_ops, pv_iosapic_ops and, pv_time_ops.
>   They represent
>     pv_init_ops: hooks for various initialization.
>     pv_cpu_ops: hooks for ia64 intrinsics.
>     pv_irq_ops: hooks for irq related operations.
>     pv_iosapic_ops: hooks for paravirtualized iosapic.
>     pv_time_ops: hooks for steal time accounting
> 
> 
> The working full source is available from
> http://people.valinux.co.jp/~yamahata/xen-ia64/linux-2.6-xen-ia64.git/
> branch: xen-ia64-2008apr30
> 
> At this phase, we don't address the following issues.
> Those will be addressed after the first merge.
> - optimization by binary patch
>   In fact, we had the patch to do that, but we intentionally dropped
>   for patch size/readability/cleanness.
> - freeing the unused pages, i.e. pages for unused ivt.S.
> 
> Changes from take 4:
> - refined NR_IRQS paravirtualization according to Jes Soresen's comment
> - rebased and fixed the breakage due to the upstream change.
> - fixed various compilation errors.
> 
> Changes from take 3:
> - split the patch set into pv_op part and xen domU part.
> - many clean ups.
> - introduced pv_ops: pv_cpu_ops and pv_time_ops.
> 
> Changes from take 2:
> - many clean ups following to comments.
> - clean up:assembly instruction macro.
> - introduced pv_ops: pv_info, pv_init_ops, pv_iosapic_ops, pv_irq_ops.
> 
> Changes from take 1:
> Single IVT source code. compile multitimes using assembler macros.
> 
> thanks,
> 
> Diffstat:
>  arch/ia64/Makefile                 |    6 +
>  arch/ia64/kernel/Makefile          |   44 +++++
>  arch/ia64/kernel/entry.S           |  115 +++++++----
>  arch/ia64/kernel/iosapic.c         |   45 +++--
>  arch/ia64/kernel/irq_ia64.c        |   19 ++-
>  arch/ia64/kernel/ivt.S             |  227 +++++++++++-----------
>  arch/ia64/kernel/minstate.h        |   13 +-
>  arch/ia64/kernel/nr-irqs.c         |   24 +++
>  arch/ia64/kernel/paravirt.c        |  369 
> ++++++++++++++++++++++++++++++++++++
>  arch/ia64/kernel/paravirt_inst.h   |   29 +++
>  arch/ia64/kernel/paravirtentry.S   |   60 ++++++
>  arch/ia64/kernel/setup.c           |   10 +
>  arch/ia64/kernel/smpboot.c         |    2 +
>  arch/ia64/kernel/time.c            |   23 +++
>  include/asm-ia64/Kbuild            |    2 +-
>  include/asm-ia64/gcc_intrin.h      |   24 ++--
>  include/asm-ia64/hw_irq.h          |   23 ++-
>  include/asm-ia64/intel_intrin.h    |   41 ++--
>  include/asm-ia64/intrinsics.h      |   55 ++++++
>  include/asm-ia64/iosapic.h         |   18 ++-
>  include/asm-ia64/irq.h             |    9 +-
>  include/asm-ia64/mmu_context.h     |    6 +-
>  include/asm-ia64/native/inst.h     |  180 ++++++++++++++++++
>  include/asm-ia64/native/irq.h      |   35 ++++
>  include/asm-ia64/paravirt.h        |  252 ++++++++++++++++++++++++
>  include/asm-ia64/paravirt_privop.h |  114 +++++++++++
>  include/asm-ia64/smp.h             |    2 +
>  include/asm-ia64/system.h          |   10 +-
>  28 files changed, 1520 insertions(+), 237 deletions(-)
-- 
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-ia64-devel] [PATCH 03/15] ia64/pv_ops: preparation: introduce	ia64_get_psr_i() to make kernel paravirtualization friendly., (continued)
- [Xen-ia64-devel] [PATCH 03/15] ia64/pv_ops: preparation: introduce	ia64_get_psr_i() to make kernel paravirtualization friendly., Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 02/15] ia64/pv_ops: preparation: introduce	ia64_set_rr0_to_rr4() to make kernel paravirtualization friendly., Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 15/15] ia64/pv_ops: add to hooks,	pv_time_ops, for steal time accounting., Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 14/15] ia64/pv_ops: add hooks, pv_irq_ops,	to paravirtualized irq related operations., Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 01/15] ia64: preparation: remove extern in	irq_ia64.c, Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 09/15] ia64/pv_ops: paravirtualize ivt.S, Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 05/15] ia64/pv_ops: introduce pv_cpu_ops to	paravirtualize privileged instructions., Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 06/15] ia64/pv_ops: preparation for	paravirtulization of hand written assembly code., Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 11/15] ia64/pv_ops: paravirtualize NR_IRQS, Isaku Yamahata
 
- [Xen-ia64-devel] [PATCH 07/15] ia64/pv_ops: define paravirtualized	instructions for native., Isaku Yamahata
 
- [Xen-ia64-devel] Re: [PATCH 00/15] ia64/pv_ops take 5,
Isaku Yamahata <=
 
- [Xen-ia64-devel] RE: [PATCH 00/15] ia64/pv_ops take 5, Luck, Tony
 
 
 
 
 |  
  
 | 
    |