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

[Xen-ia64-devel] RE: [Xen-devel] XEN/IA64 critical patch for xen-3.0.0-testing tree



>From: Robert Read [mailto:robert@xxxxxxxxxxxxx]
>Sent: 2006年1月4日 9:53
>
>Hi Kevin,
>
>I'm only moving changesets from xen-unstable to xen-3.0-testing, so
>I'll wait until all of the changes have made it to xen-unstable
>before moving them across. It looks like the latest merge from xen-
>ia64-unstable is going through our test process now, so it should
>just be another day or so.
>
>Also, I'm pulling them over as individual changesets to maintain as
>much history as possible, so creating a patch is not strictly
>necessary. It is still a convenient way to review all the changes at
>once, of course.
>
>cheers,
>robert

OK, no problem. I'll list all related rev number instead of merged one in later 
requests. ;-)

Thanks,
Kevin
>
>
>On Dec 30, 2005, at 19:10, Tian, Kevin wrote:
>
>> Hi, Keir/Ian,
>>      Attached includes 3 critical fixes which need to be pushed into
>> xen-3.0.0-testing. Could you please take a look and help? ;-)
>>
>> Thanks,
>> Kevin
>> ========================================
>> This patch includes changesets critical to XEN/IA64 dom0/domU which
>> only
>> touches ia64 specific files and test no regression upon testing tree:
>>
>> (xen-unstable.hg)
>> 8423 - generic xen0_defconfig_ia64 to run on multiple IA64 boxes
>> (HP-ZX1
>> and Tiger) which are both commonly used
>> 8413 - Fix dom0 losing virtual timer interrupt issue, which blocks
>> multiple domains stability
>>
>> (xen-ia64-unstable.hg)
>> (Following 5 changesets are all related to I/D cache sync issue, to
>> ensure IA64 dom0 running on box with cache split. Patch is made upon
>> 8437)
>> 8437
>> 8435
>> 8434
>> 8375
>> 8371
>>
>>
>> linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64 |  313
>> ++++++++++----
>> xen/arch/ia64/xen/domain.c                                |   20
>> xen/arch/ia64/xen/vcpu.c                                  |   21
>> xen/arch/ia64/xen/xenmisc.c                               |   24 +
>> xen/include/asm-ia64/linux-xen/asm/pal.h                  |    6
>> 5 files changed, 279 insertions(+), 105 deletions(-)
>>
>> (xen-unstable.hg)
>> ----
>> 8423
>> # HG changeset patch
>> # User djm@xxxxxxxxxxxxxxx
>> # Node ID 663c487a5f2c1bee87062dfe522c4e4516a82f8e
>> # Parent  97d70c793b67fcd93b9f44529c81d8a9e1eaad63
>> New default config file that works on both tiger4 and HP boxes
>>
>> ----
>> 8413
>> # HG changeset patch
>> # User djm@xxxxxxxxxxxxxxx
>> # Node ID f998426f9069aa9e4e060ceb48a3cd9cfc1231d9
>> # Parent  dda94d6dce94447d29eaf64c53e6e6315e4ac96e
>> Under some specific conditions, dom0 will lose guest timer interrupt.
>> Signed-off-by Anthony Xu <anthony.xu@xxxxxxxxx>
>> Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx>
>> The reason is that Xen/ia64 will try to pend guest timer interrupt to
>> dom0
>> within each machine timer interrupt handler. To avoid duplicated
>> delivery,
>> domain_itm_last recorded domain_itm of last injection. If two are
>> identical,
>> it means interrupt injected but guest has not set new itm value. Or
>> else
>> corresponding pending irr bit will be turned on. That works in most
>> cases.
>>
>> However currently guest linux may try to set itm multiple times within
>> one
>> handler before turn on psr.i again. Among first few settings, new
>> guest
>> timer
>> interrupt may be pended. Then once guest linux enables interrupt, a
>> new
>> timer interrupt will be injected immediately. However this
>> injection may
>> have
>> itc still smaller than the domain_itm set at the last round of last
>> handle.
>> In this case, guest linux will set same domain_itm as last again.
>> However
>> since domain_itm_last already equals to domain_itm at last read ivr,
>> later
>> no guest timer interrupt can be injected any more since Xen always
>> thinks
>> an instance already injected without guest's response.
>>
>> Attahced patch fixed this issue by adding sanity check upon guest
>> timer
>> vector when deciding to inject interrupt into dom0. We always compare
>> current
>> itc with latest domain_itm that guest really wants. So if itc <
>> domain_itm
>> at this point, we simply clear the pending bit and no injection.
>>
>> There's also a small fix to vcpu_read_ivr, where domain_itm_last
>> should
>> be updated before clearing irr bit. Or els a small window still
>> remains
>> to add a duplicate interrupt.
>>
>> (xen-ia64-unstable.hg)
>> ----
>> 8437
>> # HG changeset patch
>> # User djm@xxxxxxxxxxxxxxx
>> # Node ID b4925703b56c0944e304f073c3117da4f3d71ccd
>> # Parent  5222e8d456aea9a7cf432d0d4ad8a3a7ac602c5b
>> Missing initialization in cache sync code (by Anthony Xu)
>>
>> ----
>> 8435
>> # HG changeset patch
>> # User djm@xxxxxxxxxxxxxxx
>> # Node ID 8643b4d778f56c780d2860289d1255c80ab0b32e
>> # Parent  40648452d45f4b9a26043c0297869c55a6912551
>> Leave psr.ic on in pal_cache_flush -- fixes Linux bug (by Anthony Xu)
>>
>> ----
>> 8434
>> # HG changeset patch
>> # User djm@xxxxxxxxxxxxxxx
>> # Node ID 40648452d45f4b9a26043c0297869c55a6912551
>> # Parent  f218e6ba2653d3f2d50e11ea4b18c743d6c9127f
>> Sync caches only on split cache machines (dynamic test instead of
>> compile ifdef)
>> Signed-off-by: Dan Magenheimer <dan.magenheimer@xxxxxx>
>>
>> ----
>> 8375
>> # HG changeset patch
>> # User djm@xxxxxxxxxxxxxxx
>> # Node ID 72f51528d55a9b99f8c7737b34bf6f370de0de7f
>> # Parent  545ba1b126ca2f06861c3982c4da33dd310e7717
>> More pal_flush_cache calls for split cache machines (by Anthony Xu)
>>
>> ----
>> 8371
>> # HG changeset patch
>> # User djm@xxxxxxxxxxxxxxx
>> # Node ID e1ae4b162128f5b16c626d77c25215a37f9da6e7
>> # Parent  2d5c57be196d7db66157d3f820858c7acf9dbe58
>> Turn off ia64_pal_cache_flush for domU (temp, until failure
>> understood)
>> <IA64_patches_for_xen_testing.patch>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

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