All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH 24/29] ia64/pv_ops/xen: implement xen pv_time_ops.
Date: Fri, 18 Jul 2008 04:51:59 +0000	[thread overview]
Message-ID: <4880216F.6040900@goop.org> (raw)
In-Reply-To: <12162606623288-git-send-email-yamahata@valinux.co.jp>

Isaku Yamahata wrote:
> On Thu, Jul 17, 2008 at 07:21:37AM -0700, Jeremy Fitzhardinge wrote:
>   
>> Isaku Yamahata wrote:
>>     
>>> I had explained about that.
>>> I had considered that option. However my conclusion is not share 
>>> he implementation because xen/ia64 timer interrupt isn't
>>> paravirtualized with VCPUOP_xxx hypercall. But xen/ia64 emulates
>>> ar.itm register. (ar.itm is interval time match register which triggers
>>> interrupt when interval time counter becomes same value)
>>>
>>> Since timer interruption is virtualized differently on xen/ia64,
>>> the different implementation is a natural consequence.
>>>       
>> OK, that means the clockevent and clocksource part would be different.  
>> But the runstate accounting should still be the same, no?
>>     
>
> Unfortunately no. At first I had hoped so, but no.
> Looking consider_steal_time() which implements ia64 steal time
> accounting, I have no idea to share code cleanly with x86 steal time
> accounting, do_stolen_accounting().
>   

So, my understanding from looking at your patch that the itc is somewhat 
like the x86 tsc, in that it's not (necessarily) synchronized between 
cpus.  But unlike the tsc, the itc is always in nanoseconds, but you 
don't get information from Xen about the current physical cpu's offset 
from absolute system time.  And that means you have the (rather dubious 
looking) comparisons to test for large jumps in the itc which you try to 
ignore.

If you had some way to determine the current itc offset, then you could 
easily have an itc-based clocksource_read(), which would allow you to 
use the x86 code for stolen time accounting.  I don't know how easy that 
would be to do.

    J

  parent reply	other threads:[~2008-07-18  4:51 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-17  2:10 [PATCH 00/29] ia64/xen domU take 9 Isaku Yamahata
2008-07-17  2:10 ` [PATCH 01/29] ia64: move function declaration, ia64_cpu_local_tick() from .c to .h Isaku Yamahata
2008-07-17  2:10 ` [PATCH 02/29] ia64/xen: reserve "break" numbers used for xen hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 03/29] ia64/xen: introduce sync bitops which is necessary for ia64/xen support Isaku Yamahata
2008-07-17  2:10 ` [PATCH 04/29] ia64/xen: increase IA64_MAX_RSVD_REGIONS Isaku Yamahata
2008-07-17  2:10 ` [PATCH 05/29] ia64/xen: introduce definitions necessary for ia64/xen hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 06/29] ia64/xen: define several constants for ia64/xen Isaku Yamahata
2008-07-17  2:10 ` [PATCH 07/29] ia64/xen: add a neccessary header file to copmle include/xen/interface/xen.h Isaku Yamahata
2008-07-17  2:10 ` Isaku Yamahata
2008-07-17  5:43   ` Jeremy Fitzhardinge
2008-07-17  5:43   ` [PATCH 07/29] ia64/xen: add a neccessary header file to copmle Jeremy Fitzhardinge
2008-07-17  5:55     ` [PATCH 07/29] ia64/xen: add a neccessary header file to copmle include/xen/interface/xen.h Isaku Yamahata
2008-07-17  5:55   ` Isaku Yamahata
2008-07-17  2:10 ` [PATCH 08/29] ia64/xen: define helper functions for xen related address conversion Isaku Yamahata
2008-07-17  2:10 ` [PATCH 09/29] ia64/xen: define helper functions for xen hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 10/29] ia64/xen: implement the arch specific part of xencomm Isaku Yamahata
2008-07-17  2:10 ` Isaku Yamahata
2008-07-17  3:25   ` Akio Takebe
2008-07-17  3:25   ` Akio Takebe
2008-07-17  5:39     ` Jeremy Fitzhardinge
2008-07-17  5:39   ` Jeremy Fitzhardinge
2008-07-17  2:10 ` [PATCH 11/29] ia64/xen: xencomm conversion functions for hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 12/29] ia64/xen: implement arch specific part of xen grant table Isaku Yamahata
2008-07-17  2:10 ` [PATCH 13/29] ia64/xen: add definitions necessary for xen event channel Isaku Yamahata
2008-07-17  2:10 ` Isaku Yamahata
2008-07-17  3:27   ` [PATCH 13/29] ia64/xen: add definitions necessary for xen eventchannel Akio Takebe
2008-07-17  5:38     ` Jeremy Fitzhardinge
2008-07-17  3:27   ` Akio Takebe
2008-07-17  5:38   ` Jeremy Fitzhardinge
2008-07-17  2:10 ` [PATCH 14/29] ia64/pv_ops/xen: elf note based xen startup Isaku Yamahata
2008-07-17  2:10 ` [PATCH 15/29] ia64/pv_ops/xen: define xen pv_init_ops for various xen initialization Isaku Yamahata
2008-07-17  2:10 ` [PATCH 16/29] ia64/pv_ops/xen: define xen pv_cpu_ops Isaku Yamahata
2008-07-17  2:10 ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualized instructions for hand written assembly cod Isaku Yamahata
2008-07-17  3:49   ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualizedinstructions for hand written assembly code Akio Takebe
2008-07-17  3:49   ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualizedinstructions for hand written assembly Akio Takebe
2008-07-17  5:58     ` [Xen-ia64-devel] Re: [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualizedinstructions for hand written assembly code Isaku Yamahata
2008-07-17  2:10 ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualized instructions " Isaku Yamahata
2008-07-17  2:10 ` [PATCH 18/29] ia64/pv_ops/xen: paravirtualize DO_SAVE_MIN for xen Isaku Yamahata
2008-07-17  2:10 ` [PATCH 19/29] ia64/pv_ops/xen: paravirtualize ivt.S " Isaku Yamahata
2008-07-17  2:10 ` [PATCH 20/29] ia64/pv_ops/xen: paravirtualize entry.S for ia64/xen Isaku Yamahata
2008-07-17  2:10 ` [PATCH 21/29] ia64/pv_ops/xen: implement xen pv_iosapic_ops Isaku Yamahata
2008-07-17  2:10 ` [PATCH 22/29] ia64/pv_ops/xen: define the nubmer of irqs which xen needs Isaku Yamahata
2008-07-17  2:10 ` [PATCH 23/29] ia64/pv_ops/xen: implement xen pv_irq_ops Isaku Yamahata
2008-07-17  2:10 ` [PATCH 24/29] ia64/pv_ops/xen: implement xen pv_time_ops Isaku Yamahata
2008-07-17  2:10 ` Isaku Yamahata
2008-07-17  5:45   ` Jeremy Fitzhardinge
2008-07-17  5:45   ` Jeremy Fitzhardinge
2008-07-17  6:11     ` Isaku Yamahata
2008-07-21  8:12     ` Avi Kivity
2008-07-17  6:11   ` Isaku Yamahata
2008-07-17 14:21     ` Jeremy Fitzhardinge
2008-07-17 14:21   ` Jeremy Fitzhardinge
2008-07-18  2:17     ` Isaku Yamahata
2008-07-18  2:17   ` Isaku Yamahata
2008-07-18  4:51     ` Jeremy Fitzhardinge
2008-07-18  4:51   ` Jeremy Fitzhardinge [this message]
2008-07-18 16:28     ` Luck, Tony
2008-07-18 16:28   ` Luck, Tony
2008-07-18 18:25     ` Jeremy Fitzhardinge
2008-07-18 18:25   ` Jeremy Fitzhardinge
2008-07-18 22:44     ` Luck, Tony
2008-07-18 22:44   ` Luck, Tony
2008-07-21  8:12   ` Avi Kivity
2008-07-17  2:10 ` [PATCH 25/29] ia64/xen: define xen machine vector for domU Isaku Yamahata
2008-07-17  2:10 ` [PATCH 26/29] ia64/xen: preliminary support for save/restore Isaku Yamahata
2008-07-17  2:10 ` [PATCH 27/29] ia64/pv_ops: update Kconfig for paravirtualized guest and xen Isaku Yamahata
2008-07-17  2:11 ` [PATCH 28/29] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata
2008-07-17  2:11 ` [PATCH 29/29] ia64/pv_ops: paravirtualized istruction checker 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=4880216F.6040900@goop.org \
    --to=jeremy@goop.org \
    --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.