[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |