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-ia64-devel

Re: [PATCH] Re: [Xen-ia64-devel] Re: console output in xen.gz

To: "Alex Williamson" <alex.williamson@xxxxxx>
Subject: Re: [PATCH] Re: [Xen-ia64-devel] Re: console output in xen.gz
From: "David Brown" <dmlb2000@xxxxxxxxx>
Date: Tue, 6 Feb 2007 11:23:09 -0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 06 Feb 2007 11:22:25 -0800
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=NhJPHeVGkY0OH8WESGP9Kzg98ugiObEzhd7JoCr8Jcor6Vrz+LVxZUPm+zmgrrzkSUFurtOkbgEWzA4CZUTr9wyNcx6p9VXN6JK9YNyvDmmoBt9REds8OeAWyBzsAQmjy/k/Ydt5l8kZd1CNMR44q7XOpbch18XV0oKZF+Ite4I=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1170787680.30297.13.camel@bling>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <9c21eeae0702051305r2673fb46u9e5268878c6ba81a@xxxxxxxxxxxxxx> <9c21eeae0702051309g5808ff59h601ce9e9785bc4b7@xxxxxxxxxxxxxx> <20070206052736.GA2505@saphi> <1170787680.30297.13.camel@bling>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
On 2/6/07, Alex Williamson <alex.williamson@xxxxxx> wrote:
On Tue, 2007-02-06 at 06:27 +0100, Tristan Gingold wrote:

> > >(XEN) lookup_domain_mpa: d 0xf000000007af4080 id 1 current
> > >0xf000000007ac8000 i0
> > >(XEN) lookup_domain_mpa: bad mpa 0xffffc09e279 (=> 0x1fff4000)
> > >(XEN) Warning: UC to WB for mpaddr=ffffc09e279
> > >(XEN) lookup_domain_mpa: d 0xf000000007af4080 id 1 current
> > >0xf000000007ac8000 i0
> DomU was trying to access lpt2.

   Perhaps we should be less verbose about I/O port space accesses.
Unfortunately it's pretty normal for an OS to do some poking in port
space.  Something like the patch below would help reduce the noise.
Thanks,

Don't get me wrong, I like verboseness especially when an OS is trying
to do something that xen doesn't support yet, this helped quite a bit
in debugging what was going on.

Even though I'm a bit confused as to why this would cause a domU to
hang forever. I built the domU with some custom filesystems that
aren't in the default kernel, those filesystems happen to grab lots of
memory from the kernel. Why might something like this cause the domU
to hang? (when I say hang I mean stop, no console output no oopse or
bugs nothing from xen from the console, can't ping, everything just
stopped).

        Alex

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---

diff -r b3ae332e6dbd xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c    Tue Feb 06 09:28:07 2007 -0700
+++ b/xen/arch/ia64/xen/mm.c    Tue Feb 06 11:26:16 2007 -0700
@@ -525,7 +525,9 @@ u64 translate_domain_pte(u64 pteval, u64
                           This can happen when domU tries to touch i/o
                           port space.  Also prevents possible address
                           aliasing issues.  */
-                       printk("Warning: UC to WB for mpaddr=%lx\n", mpaddr);
+                       if (!(mpaddr - IO_PORTS_PADDR < IO_PORTS_SIZE))
+                               gdprintk(XENLOG_WARNING, "Warning: UC to WB "
+                                        "for mpaddr=%lx\n", mpaddr);
                        pteval = (pteval & ~_PAGE_MA_MASK) | _PAGE_MA_WB;
                }
                break;
@@ -690,7 +692,6 @@ unsigned long lookup_domain_mpa(struct d
     if (pte != NULL) {
         pte_t tmp_pte = *pte;// pte is volatile. copy the value.
         if (pte_present(tmp_pte)) {
-//printk("lookup_domain_page: found mapping for %lx, 
pte=%lx\n",mpaddr,pte_val(*pte));
             if (entry != NULL)
                 p2m_entry_set(entry, pte, tmp_pte);
             return pte_val(tmp_pte);
@@ -698,14 +699,24 @@ unsigned long lookup_domain_mpa(struct d
             return GPFN_INV_MASK;
     }

-    printk("%s: d 0x%p id %d current 0x%p id %d\n",
-           __func__, d, d->domain_id, current, current->vcpu_id);
-    if (mpaddr < d->arch.convmem_end)
-        printk("%s: non-allocated mpa 0x%lx (< 0x%lx)\n", __func__,
-               mpaddr, d->arch.convmem_end);
-    else
-        printk("%s: bad mpa 0x%lx (=> 0x%lx)\n", __func__,
-               mpaddr, d->arch.convmem_end);
+    if (mpaddr < d->arch.convmem_end) {
+        gdprintk(XENLOG_WARNING, "d 0x%p id %d current 0x%p id %d\n",
+                 d, d->domain_id, current, current->vcpu_id);
+        gdprintk(XENLOG_WARNING, "non-allocated mpa 0x%lx (< 0x%lx)\n",
+                 mpaddr, d->arch.convmem_end);
+    } else if (mpaddr - IO_PORTS_PADDR < IO_PORTS_SIZE) {
+        /* Log I/O port probing, but complain less loudly about it */
+        gdprintk(XENLOG_INFO, "d 0x%p id %d current 0x%p id %d\n",
+                 d, d->domain_id, current, current->vcpu_id);
+        gdprintk(XENLOG_INFO, "bad mpa 0x%lx (=> 0x%lx)\n",
+                 mpaddr, d->arch.convmem_end);
+    } else {
+        gdprintk(XENLOG_WARNING, "d 0x%p id %d current 0x%p id %d\n",
+                 d, d->domain_id, current, current->vcpu_id);
+        gdprintk(XENLOG_WARNING, "bad mpa 0x%lx (=> 0x%lx)\n",
+                 mpaddr, d->arch.convmem_end);
+    }
+

     if (entry != NULL)
         p2m_entry_set(entry, NULL, __pte(0));




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