All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jes Sorensen <jes@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH 04/15] ia64/pv_ops: introduce pv_info which describes
Date: Tue, 22 Apr 2008 10:37:06 +0000	[thread overview]
Message-ID: <480DBFD2.9060600@sgi.com> (raw)
In-Reply-To: <12077165491881-git-send-email-yamahata@valinux.co.jp>

Isaku Yamahata wrote:
> Our justification is as follows.
> The difference is its scope. pv_ops for virtualization and
> machine vector is for platform difference.
> 
> - pv_ops does cover the area which shouldn't belong to machine vector.
>   For example, ia64 intrinsics paravirtualization.
>   It shouldn't belong to the machine vector.
>   It must be initialized very early before platform detection.

Hi Isaku,

Ok this is a good point.

> - pv_ops covers some performance critical part (e.g. ia64 intrinsics)
>   so that in the future they should be optimized with binary patch like x86.
>   We had the experimental patch to do that, but they are dropped for
>   the merge. It reduced patch size greatly.
>   After merging the first patch series, we're planning to optimize
>   pv_ops with binary patch.
>   The optimization with binary patch is out of the machine vector scope.

Rather than making these binary patches, why not make them fast syscalls
and using a vdso page. Some of the priviledged instructions are simply
reads and we could have that information in a read-only data page, so
there is no need to do a context switch at all. Others could benefit
from a fast system call that doesn't do a full context switch.

It would be nice if we could come up with a generic implementation for
such a vdso style interface that could be shared between xen/kvm/lguest.


> - The current pv_ops implements only one for only domU, but in future
>   pv_ops will support dom0. It means dom0 linux would run with
>   the underlying machine vector + pv_ops, i.e.
>   {dig, hpzx1, hpzx1_swiotlb, ...} machine vector + xen pv_ops
> 
> Probably some hooks of pv_ops could be replaced with
> enhancing machine vector. But from the above separating pv_ops from
> machine vector looks reasonable.

Would it make sense to make the pv_ops pointer part of the machine
vector?

Cheers,
Jes

  parent reply	other threads:[~2008-04-22 10:37 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-09  4:48 [PATCH 00/15] RFC: ia64/pv_ops take 4 Isaku Yamahata
2008-04-09  4:48 ` [PATCH 01/15] ia64: preparation: remove extern in irq_ia64.c Isaku Yamahata
2008-04-09  4:48 ` [PATCH 02/15] ia64/pv_ops: preparation: introduce ia64_set_rr0_to_rr4() to make kernel paravirtualization friendly Isaku Yamahata
2008-04-09  4:48 ` [PATCH 03/15] ia64/pv_ops: preparation: introduce ia64_get_psr_i() " Isaku Yamahata
2008-04-09  4:48 ` [PATCH 04/15] ia64/pv_ops: introduce pv_info which describes some random info Isaku Yamahata
2008-04-22  9:16   ` Jes Sorensen
2008-04-22 10:02     ` Isaku Yamahata
2008-04-22  9:16   ` Jes Sorensen
2008-04-22 10:02   ` Isaku Yamahata
2008-04-22 10:37     ` Jes Sorensen
2008-04-22 10:37   ` Jes Sorensen [this message]
2008-04-22 10:41     ` Dong, Eddie
2008-04-22 11:02     ` Isaku Yamahata
2008-04-22 10:41   ` Dong, Eddie
2008-04-22 11:30     ` Jes Sorensen
2008-04-22 11:02   ` Isaku Yamahata
2008-04-22 11:30   ` [PATCH 04/15] ia64/pv_ops: introduce pv_info which describes Jes Sorensen
2008-04-22 13:15     ` [PATCH 04/15] ia64/pv_ops: introduce pv_info which describes some random info Dong, Eddie
2008-04-22 13:15   ` Dong, Eddie
2008-04-22 13:55     ` Jes Sorensen
2008-04-22 13:55   ` [PATCH 04/15] ia64/pv_ops: introduce pv_info which describes Jes Sorensen
2008-04-30 12:29   ` [PATCH 04/15] ia64/pv_ops: introduce pv_info which describes some random info Isaku Yamahata
2008-04-09  4:48 ` Isaku Yamahata
2008-04-09  4:48 ` [PATCH 05/15] ia64/pv_ops: introduce pv_cpu_ops to paravirtualize privileged instructions Isaku Yamahata
2008-04-09  4:48 ` [PATCH 06/15] ia64/pv_ops: preparation for paravirtulization of hand written assembly code Isaku Yamahata
2008-04-09  4:49 ` [PATCH 07/15] ia64/pv_ops: define paravirtualized instructions for native Isaku Yamahata
2008-04-09  4:49 ` [PATCH 08/15] ia64/pv_ops: paravirtualize minstate.h Isaku Yamahata
2008-04-09  4:49 ` [PATCH 09/15] ia64/pv_ops: paravirtualize ivt.S Isaku Yamahata
2008-04-09  4:49 ` [PATCH 10/15] ia64/pv_ops: paravirtualize entry.S Isaku Yamahata
2008-04-09  4:49 ` [PATCH 11/15] ia64/pv_ops: paravirtualize NR_IRQS Isaku Yamahata
2008-04-09  4:49 ` Isaku Yamahata
2008-04-22  9:08   ` Jes Sorensen
2008-04-22  9:08   ` Jes Sorensen
2008-04-22 10:11     ` Isaku Yamahata
2008-04-22 10:11   ` Isaku Yamahata
2008-04-22 12:05     ` Jes Sorensen
2008-04-22 12:05   ` Jes Sorensen
2008-04-23  2:54     ` Isaku Yamahata
2008-04-23  2:54   ` Isaku Yamahata
2008-04-23 14:03     ` Jes Sorensen
2008-04-23 14:03   ` Jes Sorensen
2008-04-24 11:19     ` Isaku Yamahata
2008-04-24 11:19   ` Isaku Yamahata
2008-04-24 11:52     ` Jes Sorensen
2008-04-24 11:52   ` Jes Sorensen
2008-04-24 12:21     ` Isaku Yamahata
2008-04-24 12:21   ` Isaku Yamahata
2008-04-30 12:29   ` Isaku Yamahata
2008-04-09  4:49 ` [PATCH 12/15] ia64/pv_ops: define initialization hooks, pv_init_ops, for paravirtualized environment Isaku Yamahata
2008-04-09  4:49 ` [PATCH 13/15] ia64/pv_ops: add hooks, pv_iosapic_ops, to paravirtualize iosapic Isaku Yamahata
2008-04-09  4:49 ` [PATCH 14/15] ia64/pv_ops: add hooks, pv_irq_ops, to paravirtualized irq related operations Isaku Yamahata
2008-04-09  4:49 ` [PATCH 15/15] ia64/pv_ops: add to hooks, pv_time_ops, for steal time accounting Isaku Yamahata

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=480DBFD2.9060600@sgi.com \
    --to=jes@sgi.com \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.