WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: "Tian, Kevin" <kevin.tian@xxxxxxxxx>, "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, "Ian Pratt" <Ian.Pratt@xxxxxxxxxxxx>, "Xen Mailing List" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] RE: XEN/IA64 critical patch for xen-3.0.0-testing tree
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Date: Fri, 30 Dec 2005 21:18:32 -0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sat, 31 Dec 2005 05:22:56 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcYNt8SMIJHznZTKRPmcAEV0CB1iPQAEZ2zg
Thread-topic: 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) <=