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-changelog

[Xen-changelog] [IA64] smp boot speed-up (sal cache flush, itc/itv messa

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [IA64] smp boot speed-up (sal cache flush, itc/itv messages)
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 27 Apr 2006 10:32:59 +0000
Delivery-date: Thu, 27 Apr 2006 03:44:17 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID d23c088eac6dcc79c8319775bfe51c3e12103702
# Parent  63af1c14fa18fe5ce7a6dd76bbd69d80aec6ae98
[IA64] smp boot speed-up (sal cache flush, itc/itv messages)

Use sal_cache_flush to emulate SAL_CACHE_FLUSH instead of fc.
Only prints one vcpu_set_itc message, do not print set itv message.

Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>

diff -r 63af1c14fa18 -r d23c088eac6d xen/arch/ia64/xen/dom_fw.c
--- a/xen/arch/ia64/xen/dom_fw.c        Tue Apr 25 22:30:07 2006 -0600
+++ b/xen/arch/ia64/xen/dom_fw.c        Tue Apr 25 22:32:14 2006 -0600
@@ -222,9 +222,18 @@ sal_emulator (long index, unsigned long 
                printf("*** CALLED SAL_MC_SET_PARAMS.  IGNORED...\n");
                break;
            case SAL_CACHE_FLUSH:
-               /*  The best we can do is to flush with fc all the domain.  */
-               domain_cache_flush (current->domain, in1 == 4 ? 1 : 0);
-               status = 0;
+               if (1) {
+                       /*  Flush using SAL.
+                           This method is faster but has a side effect on
+                           other vcpu running on this cpu.  */
+                       status = ia64_sal_cache_flush (in1);
+               }
+               else {
+                       /*  Flush with fc all the domain.
+                           This method is slower but has no side effects.  */
+                       domain_cache_flush (current->domain, in1 == 4 ? 1 : 0);
+                       status = 0;
+               }
                break;
            case SAL_CACHE_INIT:
                printf("*** CALLED SAL_CACHE_INIT.  IGNORED...\n");
diff -r 63af1c14fa18 -r d23c088eac6d xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c  Tue Apr 25 22:30:07 2006 -0600
+++ b/xen/arch/ia64/xen/vcpu.c  Tue Apr 25 22:32:14 2006 -0600
@@ -965,13 +965,12 @@ IA64FAULT vcpu_set_lrr1(VCPU *vcpu, UINT
 
 IA64FAULT vcpu_set_itv(VCPU *vcpu, UINT64 val)
 {
-//extern unsigned long privop_trace;
-//privop_trace=1;
-       if (val & 0xef00) return (IA64_ILLOP_FAULT);
+       /* Check reserved fields.  */
+       if (val & 0xef00)
+               return (IA64_ILLOP_FAULT);
        PSCB(vcpu,itv) = val;
        if (val & 0x10000) {
-               printf("**** vcpu_set_itv(%lu): vitm=%lx, setting to 0\n",
-                      val,PSCBX(vcpu,domain_itm));
+               /* Disable itm.  */
                PSCBX(vcpu,domain_itm) = 0;
        }
        else vcpu_set_next_timer(vcpu);
@@ -1091,7 +1090,12 @@ IA64FAULT vcpu_set_itc(VCPU *vcpu, UINT6
 {
 #define DISALLOW_SETTING_ITC_FOR_NOW
 #ifdef DISALLOW_SETTING_ITC_FOR_NOW
-printf("vcpu_set_itc: Setting ar.itc is currently disabled\n");
+       static int did_print;
+       if (!did_print) {
+               printf("vcpu_set_itc: Setting ar.itc is currently disabled\n");
+               printf("(this message is only displayed one)\n");
+               did_print = 1;
+       }
 #else
        UINT64 oldnow = ia64_get_itc();
        UINT64 olditm = PSCBX(vcpu,domain_itm);

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [IA64] smp boot speed-up (sal cache flush, itc/itv messages), Xen patchbot -unstable <=