|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] RE: XEN/IA64 critical patch for xen-3.0.0-testing tree
8374 would also be good to add to the list as it
fixes a data corruption problem in which domU has
been known to trash dom0's disk.
> -----Original Message-----
> From: Tian, Kevin [mailto:kevin.tian@xxxxxxxxx]
> Sent: Friday, December 30, 2005 8:11 PM
> To: Keir Fraser; Ian Pratt; Xen Mailing List
> Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx; Magenheimer, Dan (HP
> Labs Fort Collins)
> Subject: XEN/IA64 critical patch for xen-3.0.0-testing tree
>
> 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)
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] RE: XEN/IA64 critical patch for xen-3.0.0-testing tree,
Magenheimer, Dan (HP Labs Fort Collins) <=
|
|
|
|
|